日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker+selenium web自动化测试环境的部署

發布時間:2023/12/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker+selenium web自动化测试环境的部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

docker+selenium web自動化測試環境的部署


1、使用SecureCRT或Docker Quickstart Terminal打開docker終端。

2、下載selemiunUI測試需要的鏡像

命令 docker pull:從docker hub中下載鏡像。

首先搜索需要pull的image

命令:docker search selenium

針對docker selenium ,這里需要pull的image分別是:

selenium/hub

selenium/node-chrome-debug

selenium/node-firefox-debug
目前只支持在chrome和firefox中進行測試

下載的命令是docker pull+鏡像名稱+tag docker pull baozhida/selenium-hub:3.3.1 docker pull baozhida/selenium-node-chrome-debug:58 docker pull baozhida/selenium-node-firefox-debug:52

官方鏡像可能會使打開的網頁出現中文亂碼,故可采用上述鏡像。

說明:默認的tag是latest;dockerhub服務器在海外,所以網速時好時壞,有時還會timeout報錯,多試幾次一定能成功。

由于國內訪問直接訪問Docker hub網速比較慢,拉取鏡像的時間就會比較長。

針對此問題可以從dockerhub上拉取,這時再使用加速器修改docker的registry-mirrors 。這里使用的是DaoCloud的加速器。
下面介紹如何使用daocloud獲取加速器的方法。

首先在http://www.daocloud.io/進行注冊登錄。

待登錄成功后,點擊加速器,如圖所示:


等一會兒會出現以下界面,選擇Windows系統,復制獲取到的registry-mirrors配置。


請確認你的 Docker Toolbox 已經啟動,并執行下列命令(請將 加速地址替換為在加速器頁面獲取的專屬地址)

docker-machine ssh default sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile exit docker-machine restart default

更多環境的加速配置請參考以下幫助文檔

http://guide.daocloud.io/dcs/daocloud-9153151.html

3、查看鏡像

輸入命令docker images查看已經下載的鏡像


4、創建并運行容器

創建selenium hub容器
dockerrun -d -p 4444:4444 --name selehub baozhida/selenium-hub:3.3.1

創建chrome node容器

docker run -d -p 5901:5900 --name node58 --linkselehub:hub

--shm-size=512mbaozhida/selenium-node-chrome-debug:58

創建firefox node容器

docker run -d -p 5912:5900 --name ff52 --linkselehub:hub

--shm-size=512m baozhida/selenium-node-firefox-debug:52

?說明:

*-d參數:后臺模式運行;

--name參數:別名;

-p參數:將容器的5900端口映射到docker的5901端口,訪問Docker的5901端口即可訪問到node容器;

--shm-size參數:docker默認的共享內存/dev/shm只有64m,有時導致chrome崩潰,該參數增加共享內存大小到512m.*

5、輸入命令docker ps -a 查看正在運行的容器,處于up狀態

?

6、在瀏覽器輸入地址http://192.168.99.100:4444/grid/console
查看Selenium Grid控制臺,能看到剛創建的容器已經正常注冊

?7、VNC遠程瀏覽器環境

debug結尾的鏡像都帶有VNC服務端,本機安裝VNC客戶端,即可遠程連接。

下載地址:https://www.realvnc.com/en/connect/download/vnc/
輸入192.168.99.100:5901-->回車-->輸入密碼:secret-->確認-->進入chrome:58容器桌面

輸入192.168.99.100:5901-->回車-->輸入密碼:secret-->確認-->進入firefox:52容器桌面

?

8、在本地運行下面的腳本進行測試。

#coding=utf-8 from selenium import webdriver firefox_capabilities={"browserName":"firefox","version": "52.0",#注意版本號一定要寫對"platform": "ANY","javascriptEnabled": True,"marionette": True, } browser=webdriver.Remote("http://192.168.99.100:4444/wd/hub",desired_capabilities=firefox_capabilities)#注意端口號4444是我們上文中映射的宿主機端口號 browser.get("http://www.baidu.com") browser.get_screenshot_as_file(r"C:/baidu.png") browser.close()

上述代碼的效果是:用firefox52.0打開百度界面,并截圖保存在C盤中。

但按照以上操作,代碼卻報出了如下錯誤:

解決方法:

先按照(http://blog.csdn.net/liujingqiu/article/details/74857145)文中方法進行相應的修改。

然后使用官方鏡像創建selenium hub容器:

關閉原selenium hub容器?

docker stop “CONTAINER ID”(對應容器的ID)

刪除原selenium hub容器?

docker rm “NAMES”(按上述操作,這里的NAME使用selehub)


下載 selenium/hub鏡像

docker pull selenium/hub(版本默認為latest)

創建selenium hub容器
docker run -d -p 4444:4444 --nameselehub selenium/hub


再次運行腳本

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的docker+selenium web自动化测试环境的部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。