Xvfb是一個實現了X11顯示服務協議的顯示服務器。 不同於其他顯示服務器,Xvfb在內存中執行所有的圖形操作,
不需要借助任何顯示設備。
目前的測試機沒有圖形界面,我們可以安裝Xvfb,然後執行依賴於圖形界面的測試,比如webdriver case。
firefoxwww.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的步驟:
http://xxxxxx/Linuxjc/1134251.html TechArticle