在做自动化时,经常会遇到,在断言失败后,还需要自动化case继续执行, 在Python中,如何实现呢?
我们可以在assert 断言处加上try catch, 然后raise这个异常, 代码如下:
#查询功能
def search(self,driver):
driver.switch_to_frame("mainFrame")
time.sleep(5)
driver.switch_to_frame("page_z147")
time.sleep(5)
driver.find_element_by_name("keywords").send_keys("GZ2019110555")
driver.find_element_by_xpath("//a[@title='检索']").click()
time.sleep(5)
#输入一个不存在的固资编号进行查询
driver.find_element_by_name("keywords").send_keys("aaaa")
driver.find_element_by_xpath("//a[@title='检索']").click()
time.sleep(5)
#判断搜索不到结果
search_result = driver.find_element_by_xpath("//table[@id='simple-table']/tbody/tr/td").text
time.sleep(5)
try:
assert search_result == "没有相关数据111"
except Exception as msg:
print("This is except..."+ str(msg))
#self.assertEqual(search_result,"没有相关数据111")
raise msg
#清空固资编码
driver.find_element_by_name("keywords").clear()
#点击查询按钮
driver.find_element_by_xpath("//a[@title='检索']").click()
time.sleep(5)