Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作, 不需要借助任何显示设备。 目前BI侧的测试机没有图形界面,我们可以安装Xvfb,然后执行依赖于图形界面的测试,比如webdriver case。 - yum install -y Xvfb
- 启动Xvfb
Xvfb -ac :7 -screen 0 1280x1024x8
- 启动 firefox or chrome
export DISPLAY=:7 (和上一步的number号相同)
可以忽略如下错误: 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的步骤: - yum install -y lsb
- yum install -y xdg-utils
- yum install GConf2
|