之前一篇部落格分享了如何使用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 regressionno 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.自動執行 逛螞蟻莊園喂小雞 任務 ...