文章目录
1.任务目标
我们上节课学习了数据驱动,我们这节课学习一下断言,为什么要学习断言那,就是为了判断内容是服正确。
2.数据断言
断言使用的主要是assertEqual方法,如何检查测试用例执行是否正确:
(1)通过比对页面元素的文本信息,检查测试用例执行结果的正确性,编写代码如下:Find_element().text。
(2)通过对比页面标题信息,检查测试用例执行结果的正确性,编写代码如下:Driver.title。
(3)通过对比网址信息,检查测试用例执行结果的正确性,编写代码如下:Driver.current_url。
(4)通过比对页面元素的属性信息,检查测试用例执行结果的正确性,编写代码如下:FindElement().get_attribute(“value”)。
3.代码如下
读取csv文件
import csv def rend(): ps = r"E:\rest.csv" stem = open(ps, "r") tat = csv.reader(stem) list = [] i = 0 for row in tat: if i != 0: list.append(row) i = i + 1 return list if __name__ == '__main__': arr = rend() for row in arr: print(row)
断言代码
import time import unittest import ddt from selenium import webdriver from test02 import rend @ddt.ddt class Data_dda(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(3) stem_info = rend() @ddt.data(*stem_info) def test_id(self, list): # 抛个异常 try: self.driver.get("http://test.pandabrother.cn/gpracticef/my/login.html") self.driver.find_element_by_xpath('//*[@id="input-name"]').send_keys("liufengning") self.driver.find_element_by_xpath('//*[@id="input-password"]').send_keys("123456") self.driver.find_element_by_xpath("/html/body/div/div/div[1]/section/form/div[3]/button").click() self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/a').click() self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/ul/li[2]/a').click() self.driver.find_element_by_xpath( '/html/body/div[1]/div/div[3]/div/div[3]/div[2]/div/form/button[2]').click() self.driver.find_element_by_id('input-name').send_keys(list[0]) self.driver.find_element_by_xpath('//*[@id="btn-save"]').click() # 用text获取断言内容 emte = self.driver.find_element_by_id('out-tip').text # 判断csv内容和读取内容是否一致用断言判断 self.assertEqual(emte, list[1]) print('用例执行成功') # 如果判断错误则截图 except: print("用例执行失败") tiem01 = time.strftime("%Y-%m-%d-%H-%M-%S") self.driver.get_screenshot_as_file(r"E:\," + tiem01 + ".png") def tearDown(self): self.driver.quit() if __name__ == '__main__': unittest.main()
执行结果如下
4.小结
断言以后用的非常多,他可以判断我们程序是否正确,也可以判断数据驱动后结果是否正确,也可以判断内容是否正确,用处很多,需要熟练掌握。