欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年10月21日 10:42:23   作者:不能使用本名  
這篇文章主要給大家介紹了關(guān)于docker利用selenium+testng實(shí)現(xiàn)web自動(dòng)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

前言

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

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

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

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

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

 

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

當(dāng)然大家在編寫(xiě)代碼的過(guò)程中也會(huì)用到現(xiàn)在流行的單元測(cè)試框架testng。如何在這基礎(chǔ)上增加testng環(huán)境?其實(shí)這也不是什么難事,在testng的官網(wǎng)(https://testng.org/doc/index.html)提供了Eclipse、IEDA等編輯器下如何安裝插件,比如Eclipse直接進(jìn)入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>

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

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

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

Docker的安裝與使用

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

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

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

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

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

通過(guò)docker images命令可以列出當(dāng)前所有鏡像;

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

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

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

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

容器里的linux其實(shí)和普通的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)容:

 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

確認(rèn)java版本是否生效:

java -version

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

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

接下來(lái)就是testng了,因?yàn)榄h(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)容:

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ū)別的。

好了,可能有人會(huì)覺(jué)得,這不是很簡(jiǎn)單嗎?

但是,如果這時(shí)候繼續(xù)去執(zhí)行的話,會(huì)發(fā)現(xiàn)開(kāi)始報(bào)錯(cuò)了,也就是深坑來(lái)了,這是因?yàn)槊撾x了整個(gè)開(kāi)發(fā)環(huán)境。

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

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

看似非常簡(jiǎn)單,但是執(zhí)行起來(lái),到處都是錯(cuò)誤,執(zhí)行javac test.java,常見(jiàn)錯(cuò)誤為:

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

這是缺少因?yàn)槿鄙倬幾g時(shí)用到的jar包,需要下載 jcommander-1.72.jar,我們將它放置在testng的jar包一起(假設(shè)放置在/root/java/testng/目錄):

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

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)其他錯(cuò)誤,比如與testng相關(guān)的包不存在等等,請(qǐng)檢查環(huán)境變量配置是否正確。

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

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

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

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

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

java org.testng.TestNG -testclass simple.test

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

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

如果你的代碼中有測(cè)試用例@Test,但run出現(xiàn)0的話,說(shuō)明還是失敗的,只是沒(méi)有給明確的報(bào)錯(cuò)而已。

當(dāng)然到這里還沒(méi)意味著結(jié)束。

因?yàn)槟憧赡苓€會(huì)遇到缺乏各種依賴的jar包的問(wèn)題:

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

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

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

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

請(qǐng)使用selenium自帶的server部署到windows機(jī)器上。

這個(gè)問(wèn)題的解決反而是比較簡(jiǎn)單的:

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

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

cd到該目錄下:cd C:\

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

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

接下來(lái)有人會(huì)問(wèn)怎么指定瀏覽器?

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • 關(guān)于docker無(wú)法正常下載鏡像的問(wèn)題小結(jié)

    關(guān)于docker無(wú)法正常下載鏡像的問(wèn)題小結(jié)

    之前還可以正常下載鏡像,但是一段時(shí)間之后就無(wú)法下載了,猜測(cè)可能是政治原因,無(wú)法連接到國(guó)外服務(wù)器,所以我設(shè)置了阿里云的鏡像加速器,需要的朋友可以參考下
    2024-06-06
  • docker安裝redis并以配置文件方式啟動(dòng)詳解

    docker安裝redis并以配置文件方式啟動(dòng)詳解

    這篇文章主要介紹了docker安裝redis并以配置文件方式啟動(dòng)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Docker在Windows環(huán)境的搭建和使用詳解

    Docker在Windows環(huán)境的搭建和使用詳解

    這篇文章主要介紹了Docker在Windows環(huán)境的搭建和使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Docker服務(wù)的重啟服務(wù)命令詳解(systemctl restart docker)

    Docker服務(wù)的重啟服務(wù)命令詳解(systemctl restart docker)

    這篇文章主要介紹了Docker服務(wù)的重啟服務(wù)命令(systemctl restart docker),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker容器host與none網(wǎng)絡(luò)的使用

    Docker容器host與none網(wǎng)絡(luò)的使用

    本文主要介紹了Docker容器host與none網(wǎng)絡(luò)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • 使用?Docker安裝?Zabbix并配置自定義監(jiān)控項(xiàng)的過(guò)程詳解

    使用?Docker安裝?Zabbix并配置自定義監(jiān)控項(xiàng)的過(guò)程詳解

    Zabbix?可以用來(lái)監(jiān)控各種網(wǎng)絡(luò)參數(shù),來(lái)保證服務(wù)器和系統(tǒng)的安全運(yùn)行,是一個(gè)基于?Web?界面提供的分布式系統(tǒng)監(jiān)控以及網(wǎng)絡(luò)監(jiān)控功能的企業(yè)級(jí)開(kāi)源解決方案,對(duì)Docker?安裝?Zabbix配置自定義監(jiān)控項(xiàng)相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-04-04
  • Docker入門(mén)安裝教程(小白篇)

    Docker入門(mén)安裝教程(小白篇)

    這篇文章主要介紹了Docker入門(mén)安裝教程(小白篇),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Docker目錄遷移的實(shí)現(xiàn)示例

    Docker目錄遷移的實(shí)現(xiàn)示例

    Docker默認(rèn)目錄比較小,容器日志過(guò)多就會(huì)導(dǎo)致無(wú)法運(yùn)行,本文主要介紹了Docker目錄遷移的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • 在Docker Compose中獲取最新鏡像的多種方法總結(jié)

    在Docker Compose中獲取最新鏡像的多種方法總結(jié)

    Docker 鏡像是 Docker 容器的基礎(chǔ),鏡像包含了應(yīng)用程序所需的所有文件和依賴,Docker-Compose 默認(rèn)不會(huì)自動(dòng)拉取最新的鏡像版本,這可能會(huì)導(dǎo)致使用過(guò)時(shí)的鏡像,從而錯(cuò)過(guò)重要的更新,為了確保 Docker-Compose 始終使用最新的鏡像,我們可以采用多種方法,以下將詳細(xì)介紹這些方法
    2024-08-08
  • docker如何給已存在的容器添加或修改端口映射

    docker如何給已存在的容器添加或修改端口映射

    這篇文章主要介紹了docker如何給已存在的容器添加或修改端口映射問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論