之前曾經寫過一篇用Command Line 來執行 Robot Framework 但是是指定執行tag底下test case Command, 今天在試Robot Framework時,遇到robot IDE : RIDE.py 秀逗,不給我乖乖打開PhantomJS Browser,所以就研究了一下用Command LineRobot先生幫我跑指定的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才比較好管理automationTest 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的結果:

 

201894日星期二

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()