1.測(cè)試方法類
testcase.py文件
from selenium import webdriver
import unittest
import time
class TestCaseMethod(unittest.TestCase):
#setUpClass在所有測(cè)試用例執(zhí)行之前執(zhí)行,登錄網(wǎng)站
????@classmethod
? ? def setUpClass(self):
????????self.driver = webdriver.Chrome()
????????self.driver.get('http://127.0.0.1:5000/signin')
????????self.driver.find_element_by_name('username').send_keys('15090653560')
????????self.driver.find_element_by_name('password').send_keys('123456')
????????self.driver.find_element_by_xpath('/html/body/form/p[3]/button').click()
# @classmethod
# def tearDownClass(self):
#? ? self.driver.close()
#第一個(gè)測(cè)試方法,驗(yàn)證該頁(yè)面的id = testtableafter的table標(biāo)簽下的tbody標(biāo)簽下是否有9個(gè)tr標(biāo)簽
? ? def testcase1(self):
????????tr =self.driver.find_elements_by_xpath('//table[@id="testtableafter"]/tbody/tr')
????????trs =len(tr)
????????self.assertEqual(trs,9)
#第二個(gè)測(cè)試方法,驗(yàn)證第九行第二列的超鏈接打開(kāi)之后的title是否跟預(yù)期的title相同
def testcase2(self):
????????self.driver.find_element_by_xpath('//*[@id="testtableafter"]/tbody/tr[9]/td[2]/div/a').click()
????????handles =self.driver.window_handles
????????self.driver.switch_to.window(handles[2])
????????time.sleep(2)
????????title =self.driver.title
????????self.assertEqual(title,'GitHub - jianhaohe/Python-Automation')
2.unittest測(cè)試方法執(zhí)行類
testsuite.py文件:
import unittest
import time
from testcase import TestCaseMethod
from HTMLTestRunner_PY3import HTMLTestRunner
if __name__ =='__main__':
????# suit = unittest.TestSuite
????# suit.addTests(unittest.TestLoader().loadTestsFromTestCase(TestCaseMethod))
? ? suit = unittest.TestLoader().loadTestsFromTestCase(TestCaseMethod)
????time = time.strftime('%Y-%m-%d-%H-%M',time.localtime())
????dir ='D:\\zhangcq\\0604homework\\'+time+'report.html'
? ? file =open(dir,'wb')
????runner = HTMLTestRunner(stream=file,title='張星測(cè)試報(bào)告',description='selenium')
????runner.run(suit)
運(yùn)行suit文件,生成測(cè)試報(bào)告

測(cè)試報(bào)告查看:
