html数据驱动,数据驱动应用

99fe07970f2025d48960ea8d9171a8de.png

EXCEL写入以上数据,然后save as  baidu_data.CSV文件

importcsvimportcodecsimportunittestfrom itertools importislicefrom selenium importwebdriverimporttimefrom HTMLTestRunner importHTMLTestRunnerclassTestBaidu(unittest.TestCase):

@classmethoddefsetUpClass(cls):

cls.driver=webdriver.Chrome()

cls.base_url= "https://www.baidu.com"cls.test_data=[]

with codecs.open(‘baidu_data.csv‘, ‘r‘, ‘utf_8_sig‘) as f:

data=csv.reader(f)for line in islice(data,1,None):

cls.test_data.append(line)

@classmethoddeftearDownClass(cls):

cls.driver.quit()defbaidu_search(self, search_key):

self.driver.get(self.base_url)

self.driver.find_element_by_id("kw").send_keys(search_key)

self.driver.find_element_by_id("su").click()

time.sleep(2)deftest_search_selenium(self):

self.baidu_search(self.test_data[0][1])deftest_search_unittest(self):

self.baidu_search(self.test_data[1][1])deftest_search_parameterized(self):

self.baidu_search(self.test_data[2][1])if __name__=="__main__":

suit=unittest.TestSuite()

suit.addTest(TestBaidu("test_search_selenium"))

suit.addTest(TestBaidu("test_search_unittest"))

suit.addTest(TestBaidu("test_search_parameterized"))

now_time= time.strftime("%Y-%m-%d %H_%M_%S")

with open(now_time+ "Baidu_search.html", "wb") as fp:

runner= HTMLTestRunner(stream=fp,title="百度搜索测试报告", description="运行环境:win10, Chrome浏览器")

runner.run(suit)

fp.close()

e4029de6412b9ffd5e0658c78450ec19.png

二、通过 parameterized参数化

importunittestfrom selenium importwebdriverimporttimefrom HTMLTestRunner importHTMLTestRunnerfrom parameterized importparameterizedclassTestBaidu(unittest.TestCase):

@classmethoddefsetUpClass(cls):

cls.driver=webdriver.Chrome()

cls.base_url= "https://www.baidu.com"

defbaidu_search(self, search_key):

self.driver.get(self.base_url)

self.driver.find_element_by_id("kw").send_keys(search_key)

self.driver.find_element_by_id("su").click()

time.sleep(2)#通过parameterized实现参数化

@parameterized.expand([("case1","selenium"),("case2","unittest"), ("case3","parameterized"),])deftest_search(self,name,search_key):

self.baidu_search(search_key)

self.assertEqual(self.driver.title,search_key+ "_百度搜索")

@classmethoddeftearDownClass(cls):

cls.driver.quit()if __name__=="__main__":

suit=unittest.TestSuite()#添加整个测试类

suit.addTests(unittest.TestLoader().loadTestsFromTestCase(TestBaidu))

now_time= time.strftime("%Y-%m-%d %H_%M_%S")

with open(now_time+ "Baidu_search.html", "wb") as fp:

runner= HTMLTestRunner(stream=fp,title="百度搜索测试报告", description="运行环境:win10, Chrome浏览器",verbosity=2)

runner.run(suit)

fp.close()

= RESTART: C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Baidu_search.py

ok test_search_0_case1 (__main__.TestBaidu)

ok test_search_1_case2 (__main__.TestBaidu)

ok test_search_2_case3 (__main__.TestBaidu)

原文:https://www.cnblogs.com/yijierui/p/13526703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值