Selenium 2自動化測試實戰34(編寫Web測試用例)

編寫Web測試用例python

1.介紹了unittest單元測試框架,其主要是來運行Web自動化測試腳本。簡單的規劃一下測試目錄:
web_demo1/
------test_case/
------------test_baidu.py
------------test_google.py
------report/
------------login.txt
------runtest.py
目錄結構以下圖所示:web

建立web測試用例。框架

#test_baidu.py

#coding:utf-8 from selenium import webdriver import unittest import time class MyTest(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(10) self.base_url="http://www.baidu.com" def test_baidu(self): driver=self.driver driver.get(self.base_url+"/") driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("unittest") driver.find_element_by_id("su").click() time.sleep(2) title=driver.title self.assertEqual(title,u"unittest_百度搜索") def tearDown(self): self.driver.quit() if __name__=="__main__": unittest.main()

  

#test_google.py

#coding:utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import unittest import time class MyTest(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(10) self.base_url="https://www.google.com" def test_google(self): driver=self.driver driver.get(self.base_url+"/") driver.find_element_by_name("q").clear() driver.find_element_by_name("q").send_keys("webdriver") driver.find_element_by_name("q").send_keys(Keys.ENTER) time.sleep(2) title=driver.title self.assertEqual(title,u"webdriver - Google 搜索") def tearDown(self): self.driver.quit() if __name__=="__main__": unittest.main()  

在test_case/目錄下分別建立百度搜索test_baidu和有道搜索test_google.py測試文件,並在測試文件中編寫web自動化測試用例單元測試

runtest.py文件以下圖所示,這裏需注意:(導入模塊)因爲test_baidu.py和test_google.py與runtest.py並不在同一個目錄下,因此這裏,只須要在test_case目錄下加入一個__init__.py文件便可。學習

#runtest.py

#coding:utf-8 import unittest #加載測試集 from test_case import test_baidu from test_case import test_google #構造測試集 suite=unittest.TestSuite() suite.addTest(test_baidu.MyTest("test_baidu")) suite.addTest(test_google.MyTest("test_google")) if __name__=="__main__": runer=unittest.TextTestRunner() runer.run(suite)

  

2.保存測試結果測試

怎樣把測試結果生成一個有log.txt的文件呢?這裏須要藉助dos命令來實現。
首先打開Windows命令提示符,進入到../web_demo1/目錄下執行命令,以下圖所示。ui

 

 

打開…./report/log.txt文件,內容以下圖所示google

 

 


小結:學習unittest框架是爲了用它來編寫web自動化測試用例,利用其組織測試用例,斷言預期結果以及批量執行測試用例等功能,能夠很好地進行web自動化測試的開發。url

相關文章
相關標籤/搜索