from selenium import webdriver
from time import sleep
import unittest#導入unittest庫
import HTMLTestRunner
#創建一個類,並且該類繼承unittest.case類
class Test_baidu(unittest.TestCase):
#初始環境,每一個用例執行時都會先執行這里的代碼
def setUp(self):
self.dr=webdriver.Chrome()#調用指定的瀏覽器並賦值給dr
self.dr.maximize_window()
self.dr.implicitly_wait(10)#智能等待作用和sleep一樣
self.dr.get('https://www.baidu.com')
sleep(2)
#測試用例---執行搜索新方碩--測試用例的腳本
def test_case2(self):
self.dr.find_element_by_id('kw').send_keys(u'新方碩')
sleep(3)
#測試用例--執行搜索新東方
def test_case1(self):
self.dr.find_element_by_id('kw').send_keys(u'新東方')
sleep(3)
#還原環境(結束)---用例執行后關閉瀏覽器(掃尾工作)
def tearDown(self):
self.dr.close()
if __name__=="__main__":
unittest.main()
#unittest.main()他可以將一個單元測試的模塊變為可以執行的腳本,所謂main()的方法使用了
# unittest中testloader類來搜索以test開頭的測試用例,並自動執行
# main()執行順序是以ascii用來執行順序0-9,A-Z,a-z
if __name__=='__main__':
suite=unittest.TestSuite() #構造一個容器用來存放我們的測試用例
suite.addTest(Test_baidu('test_case2')) #添加類中的測試用例
suite.addTest(Test_baidu('test_case1')) #添加類中的測試用例
run=unittest.TextTestRunner()
run.run(suite) #調用對象中的run的方法執行測試套件:suite
#或者如下
if __name__=='__main__':
suite=unittest.TestSuite()
suite.addTests([Test_baidu('test_case2'),Test_baidu('test_case1')])
run=unittest.TextTestRunner()
run.run(suite)
#還或者如下
if __name__=='__main__':
suite=unittest.TestSuite()
testcates=[Test_baidu('test_case2'),Test_baidu('test_case1')]
suite.addTests(testcases)
run=unittest.TextTestRunner()
run.run(suite)
- unittest.TestSuite() 執行用例問題如下:
- 步入正軌解決方案出爐,在右鍵點擊 run 時,發現 run 后面為 unittest.in filename,以前執行文件時都是 Run fliename,也就是說整個文件都是按照 unittest 模式來執行的





-
- 此時右鍵執行就會發現不在 unittest 模式下了哦