selenium簡介
Selenium是一個WEB自動化測試工具
支持跨瀏覽器的自動化測試
支持跨操作系統的自動化測試
支持多中編程語言編寫腳本
支持分布式測試分發和管理
擁有一個支持錄制的FF插件
同時它又是一個擴展性非常好的工具,可以通過開發測試驅動來添加其可以支持的瀏覽器種類。
為什么使用dockr
Docker采用Container虛擬化技術,可以快速啟動同時保持主機與虛擬化的隔離性,建立好Image不論是要輸出到Linux,Windows還是Mac,只要主機可以執行Docker Engine就可以保證執行的一致性,要做部署或者水平擴展都極其方便。還有一個很重要的原因就是使用docker可以執行多個不同版本的瀏覽器。
正文
docker安裝
docker的安裝就不在這里做講解了,大家Google一下就可以找到答案了。
創建并運行容器
-
創建selenium hub容器
docker run -d -p 4444:4444 --name selenium-hub selenium/hub
-
創建chrome node容器
docker run -d -p 6001:5900 --name chrome01 --link selenium-hub:hub selenium/node-chrome-debug
-
創建firefox node容器
docker run -d -p 7001:5900 --name firefox01 --link selenium-hub:hub selenium/node-firefox-debug
-
查看正在運行的容器
[root@Jelly-Test-119 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 43c587f18fa2 selenium/node-firefox-debug "/opt/bin/entry_point" 57 minutes ago Up 57 minutes 0.0.0.0:7001->5900/tcp firefox01 f8afcb28a865 selenium/node-chrome-debug "/opt/bin/entry_point" About an hour ago Up About an hour 0.0.0.0:6001->5900/tcp chrome01 8c5fa9854d38 selenium/hub "/opt/bin/entry_point" About an hour ago Up About an hour 0.0.0.0:4444->4444/tcp selenium-hub
VNC遠程瀏覽器環境并測試
-
VNC安裝和使用
debug結尾的鏡像都帶有VNC服務端,本機安裝VNC客戶端,即可遠程連接。
以chrome01的容器為例:
輸入172.16.1.119:6001-->回車-->輸入密碼:secret-->確認-->進入容器桌面
VNCViewer.png
-
編寫UI測試用例
在這里使用Nodejs編寫測試用例,記得要先npm install selenium-webdriver -g
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome')
.usingServer('http://172.16.1.119:4444/wd/hub')
.build();
driver.get('http://www.google.com');
driver.findElement(By.name('q')).sendKeys('webdriver');
driver.findElement(By.name('btnG')).click();
driver.wait(until.titleIs('webdriver - Google Search'), 1000);
driver.quit();
基本的測試就是這個樣子,大家可以打開VNC Viewer觀察一下瀏覽器的狀況。
這篇文章就到這結束啦,感謝各位的觀看。