2014年8月4日

利用Selenium IDE進行UI測試

  • 安裝與執行
    • Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/
    • 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會出現底下畫面
螢幕快照 2014-08-01 下午1.40.15.png
    • 建立test Case可以使用畫面右方的Screenshot at 8月 01 13-41-31.png來進行錄製,錄製完後的畫面如下所示:
Screenshot at 8月 01 13-48-13.png
    • 錄製完後的case可以使用播放的按鈕Screenshot at 8月 01 13-49-49.png來執行。
    • Screenshot at 8月 04 16-37-34.png這個功能可以設定你要跑的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叫用。
      • 例如底下的範例:
commandstore
targetjavascript{ var a = Math.random() * 5; Math.ceil(a+1);}
value:j

將會產生一個變數j,且其值為亂數取得2~6之間的整數,調用方式如下:

command:click
targetcss=#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,預設會點選第一個。

後面等我繼續使用,有心得再來補好了

精選文章

利用Selenium IDE進行UI測試

安裝與執行 Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/ 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會...