[Ruby] 網站自動化測試 – Selenium

現今網站規模愈來愈龐大,以一般的手動測試,不但欠缺效率,也很難包含全部的測試範圍。筆者曾經在別的部門幫忙開發網站,而見識到 Selenium 的威力,它可以用程式化的方式來模擬使用者的操作行為,而且也支援許多程式語言。

以下就以 Ruby 來做簡單的示範,首先輸入以下指令來安裝元件:

gem install selenium-webdriver

接下來用它來開啟 Google 首頁:

driver = WebModule.GetDriver :chrome
driver.get 'https://www.google.com.tw'

執行後就會自動開啟 Chrome 並連到 Gogle。

而最基本的輸入文字也相當簡單,以 Google 首頁為例子,程式碼如下:

element = driver.find_element :name => 'q'
element.send_keys 'sony'

之後要測試搜尋結果,就要找出按鈕的 id 或 name,然後點擊:

element = driver.find_element :name => 'btnK'
element.submit
sleep 2
driver.save_screenshot 'google.png'
driver.quit

上面的程式碼,在 submit 後會等待兩秒並截圖,之所以要等待兩秒,是為了避免在網頁還沒讀取完畢就進行截圖。

除了輸入文字及點擊按鈕,其餘的網頁操作行為我整理在 GitHub 裡,大家有興趣可以參考。
GitHub

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s