Centos6.5 安装虚拟图形环境Xvfb及chrome

来源:互联网 发布:二手雷克萨斯es240知乎 编辑:程序博客网 时间:2024/04/29 08:10

Xvfb是一个实现了X11显示服务协议的显示服务器。 不同于其他显示服务器,Xvfb在内存中执行所有的图形操作,

不需要借助任何显示设备。

目前的测试机没有图形界面,我们可以安装Xvfb,然后执行依赖于图形界面的测试,比如webdriver case。

  1. yum install -y Xvfb
  2. 启动Xvfb
     Xvfb -ac :7 -screen 0 1280x1024x8
  3. 启动 firefox or chrome
    export  DISPLAY=:7 (和上一步的number号相同)

          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的步骤:

  • yum install -y lsb
  • yum install -y xdg-utils
  • yum install GConf2
0 0