qq_34040741
qq_34040741
采纳率100%
2017-09-11 07:35

python selenium自动化测试,监听断言后生成的报告中没有fail

已采纳

例如
flag = True
当我直接使用assertEqual(flag,True)时,利用HTMLTestRunner生成的测试报告则有fail
图片说明

当我需要监听此断言时
try:
self.assertEqual(flag,True)
print ('Test Pass.')
except Exception as e:
print ('Test Fail.', format(e))
此时无论flag是True或False,生成的测试报告均通过,虽然在生成报告的结果中可以看到断言结果是Test Pass还是Test Fail
图片说明

目前我采用的方法是在except下加raise抛出异常
try:
self.assertEqual(flag, True)
print ('Test Pass.')
except Exception as e:
if flag != True:
raise NameError,'test fail'
print ('Test Fail.', format(e))

这样生成的报告中,断言通过的用例就是pass,断言失败的就是error
图片说明

请问如何在监听断言的同时让HTMLTestRunner生成的结果中是有fail的,是我的思路错了还是为什么,求各路大神帮忙解答~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • zy841958835 cloudyzhao 4年前

    这么跟你说吧 junit的断言实际上就是抛出了一个异常 你捕获了 那junit怎么知道你断言是异常呢

    点赞 评论 复制链接分享
  • weixin_35962838 甜橙W 3年前

    把断言放在外面,不要放在try后面,你断言fail之后,异常被你的exception处理了,所以你最后运行完是没有异常的

    点赞 评论 复制链接分享

相关推荐