解决用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

TP5 try{}catch{}异常捕获不到 解决办法

Python基础Python异常处理-Try函数

delphi异常捕获try except语句 和 try finally语句用法

201671010130 2016-2017-2 《Java程序设计》第九周学习小结