美文网首页我爱编程
在ubuntu服务器上进行selenium测试

在ubuntu服务器上进行selenium测试

作者: 博妹 | 来源:发表于2017-08-25 08:37 被阅读0次

1.安装Firefox

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

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

2.安装虚拟桌面服务xvfb

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

3.启动浏览器

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

export DISPLAY=:10
firefox 

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

4.安装geckodriver

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

cd /tmp
wget https://github.com/mozilla/geckodriver/releases/download/v0.18.0/geckodriver-v0.18.0-linux64.tar.gz
tar -xvzf geckodriver*
cp geckodriver ~/bin
export PATH=.:home/bobo/bin:$PATH

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

export PATH=.:home/bobo/bin:$PATH
export DISPLAY=:10

P.S. 使用pyvirtualdisplay

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

参考

  1. 如何在无显示器的ubuntu下跑selenium

相关文章

网友评论

    本文标题:在ubuntu服务器上进行selenium测试

    本文链接:https://www.haomeiwen.com/subject/hjoydxtx.html