解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题
Posted fanjc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题相关的知识,希望对你有一定的参考价值。
在使用Python3做自动化测试过程中可能会遇到,assert函数不加try except,就可以正常在报告里体现用例不通过,加上变成通过。
这是因为在使用try except 时,捕获了assert函数产生的AssertionError异常,导致异常没有上抛,这时只需要在后面加上 raise 就可以再次把它抛出。
try:# 找到输入框并输入测试数据 self.driver.find_element_by_id("kw").send_keys(testdata) # 找到搜索按钮,并单击 self.driver.find_element_by_id("su").click() time.sleep(3) # 断言期望结果中是否出现页面源代码中 self.assertIn(expectdata,self.driver.page_source) time.sleep(3) except AssertionError as e: logger.info(u"搜索"%s",期望"%s"失败" % (testdata, expectdata)) raise else: logger.info(u"搜索"%s",期望"%s"通过"%(testdata,expectdata))
以上是关于解决用try except 捕获assert函数产生的AssertionError异常时,导致断言失败的用例在测试报告中通过的问题的主要内容,如果未能解决你的问题,请参考以下文章
selenium中,运行测试用例,报NosuchElementException错误,用try --except 捕获异常
python 异常处理小结 try except raise assert