在ubuntu服务器上进行selenium测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ubuntu服务器上进行selenium测试相关的知识,希望对你有一定的参考价值。

参考技术A 服务器在阿里云上,将apt源换成阿里的之后,直接 sudo apt install firefox 即可。

Firefox运行还需要D-BUS,因此同时还需要 sudo apt install dbus-x11

xvfb这个仿真框架使用虚拟内存能让X-Server运行在没有显示设备的机器上。这样,浏览器就可以运行了。在ubuntu和Debian上安装xvfb,只要运行:
sudo apt-get install xvfb
现在,可以运行xvfb服务上一个带有数字的显示设备上,这样是为了防止你在下阶段添加设备时引发冲突。用以下命令分配一个显示设备 10..
sudo Xvfb :10 -ac
-ac代表关闭xvfb的访问控制。

在你运行浏览器前,你首先要设置DISPLAY环境变量,以指定xvfb运行在哪个显示设备上。在加入环境变量前,我们检查一下所有的这些都如我们所料:

如果终端(terminal)没有显示错误,就说明你已经成功运行Firefox在无显示设备的ubuntu上了。它会一直运行,直到你使用ctrl + C或其它类似方法来终止其运行。同时,它不会有任何输出。
如果你能成功运行以上的步骤,那么接下来的部分就是轻而易举了。现在,我们可以在ubuntu服务器上运行selenium,如同你在本地运行一样。

安装完成后,将geckodriver所在路径写入PATH中,之后就可以在服务端进行selenium测试

笔者使用的shell是zsh,为了把PATH和DISPLAY这两个变量固定下来,在 ~/.zshrc 中将下面两句语句写入

安装xvfb之后,可以考虑使用python库pyvirtualdisplay,防止出现geckodriver出现GBK_BACKEND相关错误

以上是关于在ubuntu服务器上进行selenium测试的主要内容,如果未能解决你的问题,请参考以下文章

用于在 ubuntu / linux 上进行移动浏览器测试的模拟器/模拟器

使用Jmeter在EC2服务器上进行负载测试

如何在Kubernetes上进行微服务部署

Ubuntu下的Selenium爬虫的配置

qt的托盘程序无法在ubuntu上进行显示tooltip

Selenium 不显示失败的数字行