之前曾經寫過一篇用Command Line 來執行 Robot Framework 但是是指定執行tag底下test case 的Command, 今天在試Robot Framework時,遇到robot IDE : RIDE.py 秀逗,不給我乖乖打開PhantomJS Browser,所以就研究了一下用Command Line請Robot先生幫我跑指定的Test Case,陷阱很多,但我還是試出來了。
基本上這Robot裝好在機器之後,可以透過底下兩種模式打開Comand Line來啟動Robot :
C: > python –m robot <robot test suite file> |
C: > robot <robot test suite file> |
上面兩種指令都是啟動Robot來執行某個test suite file底下的test case,也就是單純執行某個test suite下所有case,一般常見副檔名應該是.robot,但也可以是.txt檔,只要內容格式符合Robot RobotFrameWork 的Test Case Format即可,但我覺得應該把txt檔全部改成robot才比較好管理automation的Test Case檔。
那是題外話,在這邊這指令所能幫助我的仍遠遠不夠,最基本的,我是想要跑特定Test Case,而不是Test Suite。
所以要多加幾個參數來指定跑特定test case,但是要小心的是:<robot test suite file> 永遠要放在指令最後面!!也就是指令最後一定要長的像這樣:
C: > python –m robot <一堆選項參數> <robot test suite file> |
C: > robot <一堆選項參數> <robot test suite file> |
因為Robot先生不太聰明,不這樣放他就不知道test case放在哪個test suite了!
在這邊我加工了一些參數,然後就成功跑起了我要的Test Case了:
C:\Users\terry_liu>python -m robot -L INFO -d E:\Lab\robot\log -o output.xml -l log.html -r report.html -V D:\GitHub\sso-automation-test2-qa\Variable\var_sso_production .py -t "[PP](XSP)(NABU) WFBSS" "D:\GitHub\sso-automation-test2-qa\TestCase\05 [PP]PDG_Login_PDG_Logout.txt" |
簡單說明一下:
參數 |
值 |
說明 |
-L |
INFO | DEBUG |
Log Level |
-d |
E:\Lab\robot\log |
Log Folder Location |
-o |
output.xml |
Output XML File |
-r |
report.html |
Report HTML File |
-l |
log.html |
Log File |
-V |
D:\GitHub\sso-automation-test2-qa\Variable\var_sso_production .py |
External Variable File |
-t |
"[PP](XSP)(NABU) WFBSS” |
Specify Test Case Name |
-T |
N/A |
可以為輸出檔加上TimeStamp |
Test Data Source |
"D:\GitHub\sso-automation-test2-qa\TestCase\05 [PP]PDG_Login_PDG_Logout.txt" |
Test Case Suite File |
以上除了-L跟-T不一定必要以外,其他都是跑特定Test Case所必需要用的參數,雖說輸出檔要放哪不是必要,但是最好養成習慣把輸出檔指定到同一個位置,以方便收集Log。
而 -T 算是特別的參數,用來產生TimeStamp,且會把這時間值加到輸出檔名之後,以下是加上-T參數的執行結果:
可以看到輸出檔都被加上了執行時間的戳記作為檔名的一部份。
而底下則是沒有-T 且用 robot直接執行Test Case的結果:
2018年9月4日星期二
留言列表