- 安裝與執行
- Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/
- 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會出現底下畫面
- 建立test Case可以使用畫面右方的
來進行錄製,錄製完後的畫面如下所示:
- 錄製完後的case可以使用播放的按鈕
來執行。
這個功能可以設定你要跑的test case是要快一點還是慢一點,通常慢一點比較好,跑太快常常會出問題。
- 底下的Log視窗可以顯示目前執行發生了多少個問題或是正常完成。
- 如果有設定WaitFor的Command的話,最長的等待時間是三十秒(預設,可以在option裡面設定)
- 編寫測試語法
- 除了自動錄製外,使用者也可以自行撰寫測試語法:點選右邊Table區塊的任一個工作項目後,視窗下方會出現Command、Target與Value三個欄位。
- Command : 使用Seleium IDE提供的命令,有Click、Verify、Waitfor、Assert等數十種命令可以使用 http://docs.seleniumhq.org/docs/02_selenium_ide.jsp#script-syntax,官網的文件寫的很爛,可以參考http://software-testing-tutorials-automation.blogspot.in/search/label/selenium%20ide
- Targert : 用來指定Command所要處理的目的,可以是CSS selector、Xpath、link、id或數值(例如pause這個command需要停留的毫秒數),點取target旁邊的Select可以在firefox的視窗裡面選擇你想要套用的元件,但是這個功能常常失效。
- Value : 指定Command需要用到的數值,例如type時需要輸入什麼字串(pause的秒數需要設定在target)
- 所有的測試語法都是html的table格式,每列共有三欄,分別是command,target與value。
- 可以利用store這個Command將javascript運算結果儲存到selenium IDE裏面方便其他command叫用。
- 例如底下的範例:
command:store target:javascript{ var a = Math.random() * 5; Math.ceil(a+1);} value:j |
將會產生一個變數j,且其值為亂數取得2~6之間的整數,調用方式如下:
command:click
target:css=#modifyLocalTree > ul.jqueryFileTree:nth-child(${j}) > li.directory.collapsed > a
利用${}將變數括起來就可以直接使用。
- 利用waitForxxx系列Command可以讓程式等待某個元件顯示或隱藏時再進行下一個動作,例如:
- waitForElementNotPresent : 當DOM被移除時才會繼續進行下一步。
- waitForElementPresent: 當DOM產生時才會繼續進行下一步。
- waitForVisible : 只有當css的display屬性被設定可顯示時才會繼續進行。
- waitFoNotrVisible : 只有當css的display屬性被設定none時才會繼續進行。
- 利用type指令可以在指定的input裡面輸入自定的文字。
- 利用click指令可以點選指定的DOM,同時也可以用來模擬點選radio或是checkbox,如果沒有指定radio的index,預設會點選第一個。
後面等我繼續使用,有心得再來補好了
沒有留言:
張貼留言