亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

docker利用selenium+testng實現web自動化的方法

2024-09-01 13:55:54
字體:
來源:轉載
供稿:網友

前言

經歷了漫長的各種資料,終于把selenium+testng參數化的問題搞定了!可能網上能找到一些,但是這些都是自己的經歷。本文主要介紹了關于docker利用selenium+testng實現web自動化的相關內容,下面話不多說了,來一起看看詳細的介紹吧

Windows下selenium+testng的web自動化環境搭建

做過自動化的人,肯定對selenium web環境的搭建非常熟悉了,特別是selenium在java中的使用。

先搭建好安裝好JDK,配置好java開發環境(這個如果還是不知怎么操作的話可是要打PP了)。然后從官網下載對應selenium的jar包,加載到項目里;或者是使用maven,修改pom.xml文件直接加載selenium的依賴包即可:

 <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.14.0</version> </dependency>

 

接著加上對應的瀏覽器驅動文件,就基本搞定環境了,可以開始自動化測試代碼之路了。

當然大家在編寫代碼的過程中也會用到現在流行的單元測試框架testng。如何在這基礎上增加testng環境?其實這也不是什么難事,在testng的官網(https://testng.org/doc/index.html)提供了Eclipse、IEDA等編輯器下如何安裝插件,比如Eclipse直接進入Market搜索testng安裝即可,使用maven則需要在pom.xml中添加依賴包:

<repositories><repository><id>jcenter</id><name>bintray</name><url>http://jcenter.bintray.com</url></repository></repositories><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.10</version><scope>test</scope></dependency>

無腦等待下載安裝完成,后續就是寫代碼了,然后就可以自由的揮灑了。

但是今天要介紹的不是上面這些,這種環境的搭建非常簡單,大多數人其實都會,坑也不多,只是個代碼環境而已。

我們這次要處理的麻煩事是什么呢?在現在日益發達的docker模式下,上述的編譯環境沒法在linux系統上跑了,沒了代碼編輯器、沒了界面、也沒了瀏覽器,那應該如何操作呢?讓我們來看一看。

Docker的安裝與使用

同樣的,還是需要java+selenium+testng,只不過環境從windows變成了linux。

關于docker的使用這里稍稍給大家介紹一下安裝、啟動過程:

直接使用yum install docker命令安裝;

service docker start啟動docker服務;

然后docker pull centos搞定centos版本下最基本的docker鏡像;

通過docker images命令可以列出當前所有鏡像;

查看到linux的鏡像后,使用docker run -it -d 鏡像名稱,讓linux的容器跑起來(注意-it -d的參數,如果沒有容器一閃而過就掛起了);

進入容器可先通過docker ps查看當前所有運行的容器,如果查不到,說明容器并沒有啟動,或者已經關閉了,docker ps會列出容器的id;

使用docker attach 容器id即可登錄到容器中的linux了。

Docker下java環境搭建

容器里的linux其實和普通的linux操作是一樣的了。

首先是安裝jdk:

下載 jdk-8u181-linux-x64.tar.gz 包;

tar -xzvf jdk-8u181-linux-x64.tar.gz 解壓,得到jdk1.8.0_181 目錄(假設存放為/root/java/ 目錄);

配置java的環境變量:

編輯環境變量文件:vi /etc/profile

加入內容:

 export JAVA_HOME=/root/java/jdk1.8.0_181  export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  export PATH=${JAVA_HOME}/bin:$PATH

 

刷新環境變量配置:

source /etc/profile

確認java版本是否生效:

java -version

到這里java環境算是解決了,也沒什么特別的難度,一步步來即可。

Docker下testng環境配置

接下來就是testng了,因為環境類似java而且也和環境變量有關系,所以優先解決:

下載 testng-6.14.3.jar 包;

tar -xzvf testng-6.14.3.jar解壓得到testng目錄(假設放在 /root/java/testng/ 目錄下) ;

繼續編輯環境變量文件:

vi /etc/profile

加入內容:

export TESTNG_HOME=/root/java/testngexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH:$TESTNG_HOME/testng-6.14.3.jar

刷新環境變量配置:

source /etc/profile

注意這里的testng環境變量,其中的 CLASSPATH 是在java環境的基礎上追加的,如果大家是在windows上配置,分隔符要換成 ; 且環境變量的互相調用形式不同,這是有一些區別的。

好了,可能有人會覺得,這不是很簡單嗎?

但是,如果這時候繼續去執行的話,會發現開始報錯了,也就是深坑來了,這是因為脫離了整個開發環境。

先提一下testng的執行步驟,假設自己寫個test.java,記住要最簡單的,別參合其他jar包之類的,其中包含包名為 simple ,類名為 test:

 javac test.java java org.testng.TestNG -testclass simple.test

看似非常簡單,但是執行起來,到處都是錯誤,執行javac test.java,常見錯誤為:

java.lang.NoClassDefFoundError: com/beust/jcommander/

這是缺少因為缺少編譯時用到的jar包,需要下載 jcommander-1.72.jar,我們將它放置在testng的jar包一起(假設放置在/root/java/testng/目錄):

環境變量的CLASSPATH需要追加 :

CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH:$TESTNG_HOME/testng-6.14.3.jar:$TESTNG_HOME/jcommander-1.72.jar

繼續刷新環境配置:

source /etc/profile

這之后一般就可以順利編譯,出現 test.class 文件了。

如果出現其他錯誤,比如與testng相關的包不存在等等,請檢查環境變量配置是否正確。

最后就是運行的環節了,也是大家會遇到問題點最多的點了。

先提一下結構,比如上面 simple.test 的類,那么需要建立文件夾 simple 里面存放test.java。

CLASSPATH的環境變量里,需要有testng代碼文件和包的頂級目錄追加添加,假設為

 /root/java/testng/ /root/java/testng/simple/test.java

有了這樣的結構前提,就可以通過命令執行了:

java org.testng.TestNG -testclass simple.test

出現結果,意味著運行成功了:

Total tests run: 1, Failures: 0, Skips: 0

如果你的代碼中有測試用例@Test,但run出現0的話,說明還是失敗的,只是沒有給明確的報錯而已。

當然到這里還沒意味著結束。

因為你可能還會遇到缺乏各種依賴的jar包的問題:

可以通過參數將這些jar包都引入

 /root/java/testng/ /root/java/testng/simple/test.java

遠程調用windows下瀏覽器

以為這就搞定環境,萬事大吉了么?再補一刀,瀏覽器呢?沒有瀏覽器得問題應該怎么解決呢?

請使用selenium自帶的server部署到windows機器上。

這個問題的解決反而是比較簡單的:

下載 selenium-server-standalone-3.14.0.jar 包;

放在指定目錄(比如放在C盤根目錄);

cd到該目錄下:cd C:/

執行命令打開selenium remote服務:

java -jar selenium-server-standalone-3.14.0.jar -port 6666

接下來有人會問怎么指定瀏覽器?

只需要在java代碼里,使用下面語句就可以對剛才在windows啟動的服務進行調用了:

WebDriver driver = new RemoteWebDriver("http://ip:6666/wd/hub/", DesiredCapabilities.chrome());

另外注意服務器上還是需要瀏覽器的driver驅動文件,無腦一點就和jar包放一起就完事了,愛折騰的可以自己研究一把,區別只是啟動服務時需要帶上一些參數。

整個docker下使用selenium+java遠程調用widows下Chrome瀏覽器,實現web自動化的環境搭建完畢。

后續關于docker下面使用selenium+testng實現web自動化代碼的編寫,我們將在后續進行更新,等待我們下一次更新喲~

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频白浆免费视频| 亚洲一区亚洲二区亚洲三区| 日韩欧美第一页| 欧美激情第6页| 日韩中文字幕欧美| 国产精品视频网| 国产乱肥老妇国产一区二| 66m—66摸成人免费视频| 国产69久久精品成人看| 欧美专区福利在线| 国产精品人人做人人爽| 国产亚洲精品久久久优势| 国产精品成人av性教育| 亚洲成人久久久| 欧美黑人极品猛少妇色xxxxx| 在线午夜精品自拍| 亚洲一级黄色av| 亚洲在线免费观看| 精品久久久久久亚洲国产300| 美女扒开尿口让男人操亚洲视频网站| 欧美性受xxxx白人性爽| 亚洲视频自拍偷拍| 亚洲最大福利视频网站| 欧美另类极品videosbestfree| 久久精品电影网| 美日韩精品免费视频| 欧美日韩成人在线观看| 欧美日韩激情美女| 国产在线视频一区| 亚洲欧洲免费视频| 青青久久aⅴ北条麻妃| 91精品中国老女人| 欧美激情精品久久久久久免费印度| 欧美怡春院一区二区三区| 欧洲亚洲女同hd| 欧美一区二区三区……| 久久久久久一区二区三区| 激情懂色av一区av二区av| 国产成人激情小视频| 久久成人综合视频| 亚洲欧美一区二区三区四区| 亚洲精品资源美女情侣酒店| 久久国产精品视频| 欧美一区二区三区四区在线| 日韩乱码在线视频| 一区二区三区国产视频| 97在线视频精品| 日韩欧中文字幕| 欧美日韩亚洲系列| 久久福利视频导航| 热re99久久精品国产66热| 91av视频在线免费观看| 亚洲精品xxxx| 久久69精品久久久久久国产越南| 欧美一级视频在线观看| 国产精品亚洲视频在线观看| 亚洲色图偷窥自拍| 欧美丰满少妇xxxxx做受| 亚洲va欧美va国产综合剧情| 91欧美精品午夜性色福利在线| 欧美尤物巨大精品爽| 日韩国产高清视频在线| 欧美日韩中文字幕综合视频| 自拍视频国产精品| 久久精品中文字幕电影| 久久久久五月天| 欧美激情网友自拍| 久久天天躁狠狠躁夜夜躁2014| 欧美—级a级欧美特级ar全黄| 国产日韩欧美黄色| 亚洲自拍偷拍色片视频| 欧美激情奇米色| 成人激情春色网| 97视频免费在线看| 欧美视频在线观看 亚洲欧| 国产精品一区久久| 色婷婷亚洲mv天堂mv在影片| 欧美在线视频a| 97在线免费视频| 日本aⅴ大伊香蕉精品视频| 亚洲热线99精品视频| 欧美精品18videos性欧| 欧美视频在线看| 九九精品在线视频| 欧美一级淫片播放口| 庆余年2免费日韩剧观看大牛| 久久国产精品视频| 久久久久99精品久久久久| 久久久久久高潮国产精品视| 日韩大陆欧美高清视频区| 国产精品一区二区性色av| 国产成人精品久久亚洲高清不卡| 日韩av电影在线网| 欧美精品生活片| 中文字幕视频一区二区在线有码| 亚洲高清一区二| 欧美日韩亚洲视频一区| 久久视频在线观看免费| 国产精品专区第二| 亚洲欧美日韩爽爽影院| 久久久久久久久久久久av| 国产精品福利小视频| 久久久久女教师免费一区| 色阁综合伊人av| 欧美激情区在线播放| 久久天天躁狠狠躁老女人| 久久久国产视频| 亚洲最新av在线| 国产精品偷伦一区二区| 亚洲自拍偷拍色片视频| 亚洲精品视频在线播放| 久久艳片www.17c.com| 欧美丰满片xxx777| 精品女同一区二区三区在线播放| 亚洲久久久久久久久久| 91九色国产社区在线观看| 成人有码在线视频| 亚洲va欧美va国产综合久久| 91精品国产91久久久久久最新| 国产亚洲美女久久| 欧美老妇交乱视频| 亚洲视频精品在线| 国产精品露脸av在线| 国产精品入口日韩视频大尺度| 亚洲人成电影网站| 97视频免费看| 国产精品视频内| 91av视频在线观看| 亚洲影院色在线观看免费| 国语对白做受69| 欧美色欧美亚洲高清在线视频| 亚洲天堂av综合网| 91国产美女视频| 欧美最近摘花xxxx摘花| 中文字幕欧美亚洲| 国产精品久久久久国产a级| 欧美大尺度激情区在线播放| 亚洲综合在线中文字幕| 97在线视频一区| 国产午夜精品麻豆| 久久夜色精品国产亚洲aⅴ| 中文字幕亚洲第一| 国产精品久久精品| 色老头一区二区三区| 精品视频在线播放免| 中文日韩电影网站| 欧美在线观看网址综合| 97色在线视频| 国产精品福利在线观看网址| 亚洲国模精品一区| 欧洲日本亚洲国产区| 亚洲第一精品夜夜躁人人爽| 国产999精品视频| 亚洲aaa激情| 国产美女被下药99| 欧美极品少妇xxxxⅹ喷水| 欧美色另类天堂2015| 日韩欧美成人精品| 日本亚洲欧美三级| 成人免费看片视频| 亚洲成人久久久| 26uuu国产精品视频| 97精品视频在线播放| 国产精品亚洲第一区|