[AutomationTest] selenium + cucumber + ruby (5)


請先服用第一集第二集第三集

第四集我寫錯了~~~~ XDD

========= 前情提要 =========


基本上我們用前三集把一個簡單的 test case 寫出來,並且不斷的優化。到了第四集,使用物件導向的概念把 Page Object 拉出來,並把一致的操作放進去。外面的 Given-When-Then 就可以專心的寫業務目標,方便不懂程式與軟體的人與開發團隊溝通。

這集我們要來說一下小技巧。


========= 技巧 =========


1. 只跑一個 scenario 的方法

就是加 tag
在 scenario 前面加個 @tag_name
然後在 console 下 cucumber --tags @tag_name 就可以只跑那個 scenario



2. 只跑一個 feature 檔的方法

就是指定 feature 檔的路徑就好
console 的下法是 cucumber ./features/XXX.feature
就可以只跑那個 feature 檔


3. 參見 第二集,如何快速跑出那黃黃的那段,而不開真正的 browser。

就是在 console 下 cucumber --dry-run
cucumber 會去比對 feature 檔裡面的東西是不是都有對應的 steps 去實作。
不管是 pre-defined steps 還是 我們自己寫的。
如果有沒對到的,黃黃的就會跑出來,你就可以拿去 copy-and-paste 了。


4. 使用不同的 browser 跑測試

在 console 裡面下:
要用 chrome 的話:cucumber BROWER=chrome
要用 firefox 的話:cucumber BROWER=ff
然後會遇到一點點錯誤,不要慌,基本上照著 cucumber 的錯誤訊息,去某個地方下載某個檔案,放進路徑變數裡,就可以了,這我很久以前做過一次,現在忘了...也無法 reproduce 了。


========= Retrospective =========

其實這篇沒什麼好 retro 的,就只是一些指令的下法而已,連圖都沒有貼,cucumber —help 都有寫。

好啦,這大概就是我對 web automation 的所有知識了,剩下就是不斷的練習去熟悉他了。有問題或任何建議也請在下面留言提出。

留言