#coding=utf-8 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common import keys from selenium.webdriver.support import select from selenium.common import exceptions import unittest,time,re class Baidu(unittest.TestCase): #setUp 用於設置初始化的部分,在測試用例執行前,這個方法中的函數將先被調用。這裏將瀏覽器的調用和URL的訪問放到初始化部分。# def setUp(self): self.driver=webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url='http://www.baidu.com/' self.verificationErrors=[] #腳本運行時,錯誤的信息將被打印到這個列表中# self.accept_next_alert=True #是否繼續接受下一個警告# #百度搜索用例 def test_baidu_serch(self): driver=self.driver driver.get(self.base_url) driver.find_element_by_id("kw").send_keys("selenium webdriver") driver.find_element_by_id("su").click() time.sleep(2) driver.quit() #百度設置用例 def test_baidu_set(self): driver=self.driver #進入搜索設置頁 driver.get(self.base_url+'gaoji/preferences.html') m=driver.find_element_by_name('NR') #設置每頁搜索結果爲100條,先找到ID=NR的標籤,再找到ID=NR標籤下的option標籤value值等於100的選擇按鈕 m.find_element_by_xpath("//option[@value='100']").click() time.sleep(2) #保存設置的信息 driver.find_element_by_xpath("//input[@value='保存設置']").click() time.sleep(2) n=driver.switch_to_alert() n.accept() def tearDown(self): self.driver.quit() self.assertEqual([],self.verificationErrors) ''' tearDown 方法在每個測試方法執行後調用,這個地方做所有清理工作,如退出瀏覽器等。 self.assertEqual([], self.verificationErrors) 是個難點, 對前面verificationErrors方法獲得的列表進行比較;如查verificationErrors的列表不爲空,輸出列表中的報錯信息。''' if __name__=="__main__": unittest.main() #執行用例# ''' 執行結果如下: Ran 2 tests in 30.719s 執行測試完所有測試用例,用了70.719S ok 沒有問題 如果你在用例中故意設置一個錯誤,例如: 百度設置用例中增加這樣一行代碼,查找到name爲DR的標籤,並單擊它,因爲這個是沒有的,找不到這個標籤,系統會報錯, driver.find_element_by_name('DR').click() 這時執行結果顯示如下: Ran 2 tests in 70.719s FAILED (errors=1) '''
Python自動化測試例子--一個簡單的自動化測試用例腳本--批量執行測試用例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.