TestNG Ant自動執行測試

2021-06-19 00:27:39 字數 3032 閱讀 4180

之前一篇部落格分享了如何使用webdriver+testng實現ui自動化,現在就要讓自動化測試自己跑起來,不需要人工干預。需要用到ant,以及一些定時任務工具,例如linux的crontab。

如何在ant的build.xml裡面正確配置testng呢?

1. 在build.xml裡面定義testng任務,在classpath裡面指定testng.jar

resource="testngtasks"

classpath="$/testng.jar"

/>

2. 在build.xml裡面新建乙個 叫regression的target

basedir="."

default="regression"

name="automation test"

>

name="base.dir"

value="/home/maguschen/workspaces/automation"

/>

name="testng.output.dir"

value="$/test-output"

/>

name="3rd.lib.dir"

value="$/libs"

/>

name="testng.file"

value="testng.xml"

/>

resource="testngtasks"

classpath="$/testng.jar"

/>

name="clean"

>

dir="$/bin"

/>

>

name="compile"

depends="clean"

>

dir="$/bin"

/>

srcdir="$/src"

destdir="$/bin"

classpathref="classes"

includeantruntime="off"

debug="on"

debuglevel="lines,vars,source"

/>

>

id="classes"

>

dir="$"

includes="*jar"

/>

dir="$"

includes="*zip"

/>

location="$/bin"

/>

>

name="regression"

depends="compile"

>

outputdir="$"

classpathref="classes"

delegatecommandsystemproperties="true"

>

dir="$"

includes="$"

/>

>

>

>

在target裡面新建乙個testng標籤,裡面需要設定的屬性有:outputdir – 測試結果輸出目錄;classpathref – 那些自動化測試**的目標路徑,通常就是編譯完成以後的那個目標路徑,例如***/bin;delegatecommandsystemproperties – 接受傳遞命令列引數作為系統變數,這個設定為true可以在呼叫ant的時候通過 -dfoo=value 把引數傳遞給testng;裡面還有乙個xmlfileset節點,這個節點就是指定testng.xml檔案的目錄以及具體檔案。

regression 的 target 有乙個depends屬性,意思就是跑regression之前需要做compile,而跑compile之前需要clean,應該很容易理解。直接在命令列裡面執行:

ant -durl= -f build.xml regression

這裡出現了 -durl= ,回到之前的配置,delegatecommandsystemproperties=」true」。如果這個引數為true,那麼通過命令列的 -d 引數可以把一些變數傳遞給testng。譬如說testng的測試方法裡面是有@parameters()標籤的話,就能通過ant -durl=*** 來傳遞url的值給到testng。例如

@parameters(

)@test

public

voidsearch(

string url)

如果這樣呼叫:ant -durl= -f build regression 。那麼就會進入google的首頁搜尋,如果是: ant -durl= -f build regression ,那麼就會找不到叫「q」的元素,呵呵。

接下來只要把cron job配好就完成了

15 * * * * ant -f /home/maguschen/workspaces/automation/build.xml regression

no related posts.

**:/blog/automationtesting/testng-ant/

自動化測試中的測試執行自動化

自動化測試 這個術語的使用是如何對團隊深挖自動化益處產生束縛作用的,richard bradshaw 在agile testing days 2015上對此進行了 分析。infoq有幸採訪到了bradshaw,就測試和檢查的不同之處以及為什麼兩者都很重要 自動化能怎樣支援測試 自動化框架的使用以及為...

自動化測試中的測試執行自動化

自動化測試 這個術語的使用是如何對團隊深挖自動化益處產生束縛作用的,richard bradshaw 在agile testing days 2015上對此進行了 分析。infoq有幸採訪到了bradshaw,就測試和檢查的不同之處以及為什麼兩者都很重要 自動化能怎樣支援測試 自動化框架的使用以及為...

自動執行任務 芭芭農場自動執行,自動簽到

1 專案的作用 1 本專案主要用於自動執行tao金幣活動。2 測試環境 華為p30pro autojs4 tao寶v9 2 專案的功能 a.自動執行tao金幣所有瀏覽任務 b.自動執行 逛好店領一大波金幣 任務 包含瀏覽10s 10金幣任務 收藏店鋪 10金幣 c.自動執行 逛螞蟻莊園喂小雞 任務 ...