2 qq 34040741 qq_34040741 于 2017.09.11 15: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的,是我的思路错了还是为什么,求各路大神帮忙解答~

1个回答

zy841958835
zy841958835   Ds   Rxr 2017.09.11 17:25
已采纳

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

Csdn user default icon
上传中...
上传图片
插入图片