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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker+selenium web自动化测试环境的部署 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

docker+selenium web自動(dòng)化測(cè)試環(huán)境的部署


1、使用SecureCRT或Docker Quickstart Terminal打開(kāi)docker終端。

2、下載selemiunUI測(cè)試需要的鏡像

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

首先搜索需要pull的image

命令:docker search selenium

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

selenium/hub

selenium/node-chrome-debug

selenium/node-firefox-debug
目前只支持在chrome和firefox中進(jìn)行測(cè)試

下載的命令是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

官方鏡像可能會(huì)使打開(kāi)的網(wǎng)頁(yè)出現(xiàn)中文亂碼,故可采用上述鏡像。

說(shuō)明:默認(rèn)的tag是latest;dockerhub服務(wù)器在海外,所以網(wǎng)速時(shí)好時(shí)壞,有時(shí)還會(huì)timeout報(bào)錯(cuò),多試幾次一定能成功。

由于國(guó)內(nèi)訪問(wèn)直接訪問(wèn)Docker hub網(wǎng)速比較慢,拉取鏡像的時(shí)間就會(huì)比較長(zhǎng)。

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

首先在http://www.daocloud.io/進(jìn)行注冊(cè)登錄。

待登錄成功后,點(diǎn)擊加速器,如圖所示:


等一會(huì)兒會(huì)出現(xiàn)以下界面,選擇Windows系統(tǒng),復(fù)制獲取到的registry-mirrors配置。


請(qǐng)確認(rèn)你的 Docker Toolbox 已經(jīng)啟動(dòng),并執(zhí)行下列命令(請(qǐng)將 加速地址替換為在加速器頁(yè)面獲取的專屬地址)

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

更多環(huán)境的加速配置請(qǐng)參考以下幫助文檔

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

3、查看鏡像

輸入命令docker images查看已經(jīng)下載的鏡像


4、創(chuàng)建并運(yùn)行容器

創(chuàng)建selenium hub容器
dockerrun -d -p 4444:4444 --name selehub baozhida/selenium-hub:3.3.1

創(chuàng)建chrome node容器

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

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

創(chuàng)建firefox node容器

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

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

?說(shuō)明:

*-d參數(shù):后臺(tái)模式運(yùn)行;

--name參數(shù):別名;

-p參數(shù):將容器的5900端口映射到docker的5901端口,訪問(wèn)Docker的5901端口即可訪問(wèn)到node容器;

--shm-size參數(shù):docker默認(rèn)的共享內(nèi)存/dev/shm只有64m,有時(shí)導(dǎo)致chrome崩潰,該參數(shù)增加共享內(nèi)存大小到512m.*

5、輸入命令docker ps -a 查看正在運(yùn)行的容器,處于up狀態(tài)

?

6、在瀏覽器輸入地址http://192.168.99.100:4444/grid/console
查看Selenium Grid控制臺(tái),能看到剛創(chuàng)建的容器已經(jīng)正常注冊(cè)

?7、VNC遠(yuǎn)程瀏覽器環(huán)境

debug結(jié)尾的鏡像都帶有VNC服務(wù)端,本機(jī)安裝VNC客戶端,即可遠(yuǎn)程連接。

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

輸入192.168.99.100:5901-->回車-->輸入密碼:secret-->確認(rèn)-->進(jìn)入firefox:52容器桌面

?

8、在本地運(yùn)行下面的腳本進(jìn)行測(cè)試。

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

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

但按照以上操作,代碼卻報(bào)出了如下錯(cuò)誤:

解決方法:

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

然后使用官方鏡像創(chuàng)建selenium hub容器:

關(guān)閉原selenium hub容器?

docker stop “CONTAINER ID”(對(duì)應(yīng)容器的ID)

刪除原selenium hub容器?

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


下載 selenium/hub鏡像

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

創(chuàng)建selenium hub容器
docker run -d -p 4444:4444 --nameselehub selenium/hub


再次運(yùn)行腳本

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。