Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作,
不需要借助任何显示设备。
目前的测试机没有图形界面,我们可以安装Xvfb,然后执行依赖于图形界面的测试,比如webdriver case。
firefox www.baidu.com
可以忽略如下错误: Xlib: extension "RANDR" missing on display ":7".
DISPLAY用来设置将图形显示到何处,如上例为 使用unix socket方式连接到本机(/tmp/.X11-unix/X7)。 DISPLAY环境变量格式如下host:NumA.NumB, host指Xserver所在的主机主机名或者ip地址, 图形将显示在这一机器上,
可以是启动了图形界面的Linux/Unix机器, 也可以是安装了Exceed, XManager等Windows平台运行的Xserver的Windows机器.
假如Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式.
使用TCP方式连接时, NumA为连接的端口减去6000的值, 假如NumA为0, 则表示连接到6000端口;
使用unix socket方式连接时则表示连接的unix socket的路径, 假如为0, 则表示连接到/tmp/.X11-unix/X0 . NumB则几乎总是0.
通过python运行webdriver的case之前,首先要安装python环境及测试需要的module。
4. 下载pip的安装文件get-pip.py: /home/bi_test
5. root运行: python get-pip.py
6. 安装测试需要的依赖模块:pip install "module name"
7. 运行如下简单的测试case:
# coding = utf-8
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.save_screenshot("capture.png");
browser.quit()
可以在当前目录下看到截图文件capture.png.
8. centos6.5安装chrome
chrome本身不支持centos6.5,网上虽然有一些rpm,但安装后也不好用,坑挺多,建议找小强直接升级一台测试机到centos7
(centos7默认支持chrome及docker,好处多多)。这里只是简单记录一下centos6.5安装chrome的步骤: