激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識 - docker利用selenium+testng實現(xiàn)web自動化的方法

docker利用selenium+testng實現(xiàn)web自動化的方法

2021-03-09 17:02不能使用本名 服務(wù)器知識

這篇文章主要給大家介紹了關(guān)于docker利用selenium+testng實現(xiàn)web自動化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

前言

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

Windows下selenium+testng的web自動化環(huán)境搭建

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

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

?
1
2
3
4
5
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>

 

接著加上對應(yīng)的瀏覽器驅(qū)動文件,就基本搞定環(huán)境了,可以開始自動化測試代碼之路了。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

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

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

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

Docker的安裝與使用

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

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

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

service docker start啟動docker服務(wù);

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

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

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

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

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

Docker下java環(huán)境搭建

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

首先是安裝jdk:

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

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

配置java的環(huán)境變量:

編輯環(huán)境變量文件:vi /etc/profile

加入內(nèi)容:

?
1
2
3
4
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

 

刷新環(huán)境變量配置:

source /etc/profile

確認java版本是否生效:

java -version

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

Docker下testng環(huán)境配置

接下來就是testng了,因為環(huán)境類似java而且也和環(huán)境變量有關(guān)系,所以優(yōu)先解決:

下載 testng-6.14.3.jar 包;

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

繼續(xù)編輯環(huán)境變量文件:

vi /etc/profile

加入內(nèi)容:

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

刷新環(huán)境變量配置:

source /etc/profile

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

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

但是,如果這時候繼續(xù)去執(zhí)行的話,會發(fā)現(xiàn)開始報錯了,也就是深坑來了,這是因為脫離了整個開發(fā)環(huán)境。

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

?
1
2
javac test.java
java org.testng.TestNG -testclass simple.test

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

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

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

環(huán)境變量的CLASSPATH需要追加 :

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

繼續(xù)刷新環(huán)境配置:

source /etc/profile

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

如果出現(xiàn)其他錯誤,比如與testng相關(guān)的包不存在等等,請檢查環(huán)境變量配置是否正確。

最后就是運行的環(huán)節(jié)了,也是大家會遇到問題點最多的點了。

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

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

?
1
2
/root/java/testng/
/root/java/testng/simple/test.java

有了這樣的結(jié)構(gòu)前提,就可以通過命令執(zhí)行了:

?
1
java org.testng.TestNG -testclass simple.test

出現(xiàn)結(jié)果,意味著運行成功了:

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

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

當然到這里還沒意味著結(jié)束。

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

可以通過參數(shù)將這些jar包都引入

?
1
2
/root/java/testng/
/root/java/testng/simple/test.java

遠程調(diào)用windows下瀏覽器

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

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

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

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

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

cd到該目錄下:cd C:\

執(zhí)行命令打開selenium remote服務(wù):

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

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

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

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

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

整個docker下使用selenium+java遠程調(diào)用widows下Chrome瀏覽器,實現(xiàn)web自動化的環(huán)境搭建完畢。

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。

原文鏈接:https://www.cnblogs.com/CMFacebook/p/9817357.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本一区二区三区四区高清视频 | 日韩大片在线永久观看视频网站免费 | 亚洲二区三区在线 | 国产一级一区 | 中文字幕一区二区三区久久 | 日本爽快片100色毛片视频 | 黄色18网站| 性少妇videosexfreexx| 最新在线中文字幕 | 午夜精品区 | 亚洲精品一区二区三区免 | 欧美aⅴ视频 | chengrenyingshi| 午夜小视频免费观看 | 国产成人精品二区 | 婷婷一区二区三区 | 免费a级毛片永久免费 | 色域tv | 艹逼视频网 | 成年免费视频黄网站在线观看 | 青青草成人影视 | 国内精品久久久久久久久久久久 | 黄色片网站免费 | 成人毛片一区 | 91精品观看91久久久久久国产 | 国产精品成人一区二区三区电影毛片 | 中文字幕一区二区三区久久 | 久久国产中文字幕 | 成人男女啪啪免费观看网站四虎 | av7777777| 黄视频免费在线观看 | 蜜桃视频在线播放 | 午夜视频大全 | 在线亚州| 国产91久久精品一区二区 | 欧美又黄又嫩大片a级 | 国产88久久久国产精品免费二区 | 羞羞视频免费观看入口 | 久久精品一级 | 欧美成人国产va精品日本一级 | 欧美成年性h版影视中文字幕 |