Selenium也是一個用于Web應用程式測試的工具。Selenium測試直接運行在流覽器中,就像真正的使用者在操作一樣。支持的流覽器包括IE(7、8、9)、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與流覽器的兼容性--測試你的應用程式看是否能夠很好得工作在不同流覽器和作業系統之上。測試系統功能--建立回歸測試檢驗軟體功能和使用者需求。支持自動錄製動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。Selenium 是ThoughtWorks專門為Web應用程式編寫的一個驗收測試工具。
安裝Selenium
pip install selenium
下載 Chrome Drive 並放在 /usr/local/sbin 底下
下載 Firefox Drive 並放在
第一個範例 vim sample.py
# 匯入 selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 設定使用者 Browser
browser = webdriver.Firefox()
# 開啟的頁面
browser.get('http://www.yahoo.com')
# 檢查 title
assert 'Yahoo' in browser.title
# 搜尋 p
elem = browser.find_element_by_name('p') # Find the search box
# 鍵盤輸入 seleniumhq
elem.send_keys('seleniumhq' + Keys.RETURN)
# 關閉 browser
browser.quit()
python sample.py
unitest 整合 selenium : vim test_selenium.py
# 匯入 unittest、selenium
import unittest
from selenium import webdriver
# 測試 class
class GoogleTestCase(unittest.TestCase):
# 測試前動作
def setUp(self):
self.browser = webdriver.Firefox()
self.addCleanup(self.browser.quit)
# 測試
def testPageTitle(self):
self.browser.get('http://www.google.com')
self.assertIn('Google', self.browser.title)
if __name__ == '__main__':
unittest.main(verbosity=2)
python test_selenium.py
整合兩個測試案例
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class GoogleTestCase(unittest.TestCase):
def setUp(self):
self.browser = webdriver.Firefox()
self.addCleanup(self.browser.quit)
def testPageTitle(self):
self.browser.get('http://www.google.com')
self.assertIn('Google', self.browser.title)
def testYahoo(self):
self.browser.get('http://www.yahoo.com')
assert 'Yahoo' in self.browser.title
elem = self.browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
def tearDown(self):
self.browser.quit()
if __name__ == '__main__':
unittest.main(verbosity=2)
Selenium 使用上非常方便,測試人員使用 selenium 來測試頁面動作是否正常.