? ? ? ? 前面Darren洋讲解了在windows环境下如何快速安装自动化测试工具cypress,有些小伙伴可能就要问了吧,我想要把它放在linux服务器上运行该怎么办呢,网上安装方法鱼龙混杂,今天Darren洋手把手教学在linux中安装应用cypress。
????????Darren洋windows环境安装教程传送带:
https://cfycsdnbk.blog.csdn.net/article/details/135247892
? ? ? ? 新建好项目根目录后,直接输入以下命令进行环境定位。
CYPRESS_DOWNLOAD_MIRROR="https://download.cypress.io/desktop"
? ? ? ? 直接使用以下命令进行固定版本安装。还没安装node.js的小伙伴请看我之前的博客记录的node.js安装流程。
https://cfycsdnbk.blog.csdn.net/article/details/130383779
npm install cypress@13.6.2 --save-dev
? ? ? ? 使用以上命令以后,就可以在项目根目录下看见框出来的三个文件。
? ? ? ? 进行apt-get(我这里使用的是kail linux,也就是Debian12的版本,centos使用yum)数据源升级,并以此安装如下配置。
sudo apt-get update
sudo apt-get install gnome
wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
apt-get update
apt-get install google-chrome-stable
????????输入以下命令进行启动谷歌浏览器会有以下报错,注意一点哈!不管你使用的linux版本有没有桌面,一律先重启一遍linux客户机,然后再重新输入一遍执行,有桌面的linux会直接执行启动并弹出谷歌浏览器弹窗,无桌面的版本会依然报错(那就直接下一步就好,因为版本就没有桌面)。
google-chrome --no-sandbox
[3368:3368:0112/085904.180834:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY
[3368:3368:0112/085904.180922:ERROR:env.cc(257)] The platform failed to initialize. Exiting.
[0112/085904.198510:ERROR:nacl_helper_linux.cc(354)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly
以下是VMware里重启kail linux桌面版后的操作:
? ? ? ? 重启linux客户机后重新输入谷歌浏览器启动命令。
google-chrome --no-sandbox
? ? ? ? 启动完成后就可以在导航栏找到谷歌浏览器的图标啦!点击启动即可正确打开启动谷歌浏览器在虚拟机中进行操作啦!!!
? ? ? ? 以下是通过ssh协议连接VMware与xshell终端(xshell里面执行linux命令就属于没有桌面的linux终端环境),重启后继续执行以下命令,依旧会显示报错,因为这是无桌面环境,调不出来桌面当然会报错啦,so直接下一步,不管它,里面的chrome程序已经安装好啦!
? ? ? ? 直接查询chrome版本信息(有就证明安装成功)
google-chrome --version
? ? ? ? 直接拿以下命令进行检查,百度搜索并截图,显示截图保存成功即可说明chrome启动运行无问题。
google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.baidu.com/
[0112/090250.960543:WARNING:bluez_dbus_manager.cc(248)] Floss manager not present, cannot set Floss enable/disable.
[0112/090251.050450:WARNING:sandbox_linux.cc(400)] InitializeSandbox() called with multiple threads in process gpu-process.
46655 bytes written to file screenshot.png
? ? ? ? 使用wget下载chromedriver安装包。
wget https://cdn.npmmirror.com/binaries/chromedriver/114.0.5735.90/chromedriver_linux64.zip
? ? ? ? 解压即可。
unzip chromedriver_linux64.zip
? ? ? ? 给chromedriver赋权,这两种方式赋权限都可以。
chmod +x chromedriver
chmod 777 chromedriver
????????软链接连通。
ln -s /opt/google/chromedriver /usr/bin/chromedriver
????????把window环境下的部分打包并解压上传至linux服务器中即可。
????????使用npx命令即可运行cypress脚本。
npx cypress run
? ? ? ? 在videos目录下查看即可看见MP4格式的录制视频。