1
我正在运行测试用例并使用groovy断言数据。我想打印每个失败的消息到html junit generate report
。如何将所有断言失败消息打印到SoapUI的HTML报告中
示例代码
import groovy.json.JsonSlurper
def ResponseMessage = messageExchange.response.responseContent
def jsonString = new JsonSlurper().parseText(ResponseMessage)
assert !(jsonString.isEmpty())
assert jsonString.code == 200
assert jsonString.status == "success"
def accountInfo = jsonString.data
assert !(accountInfo.isEmpty())
def inc=0
//CHECKING LANGUAGES IN RESPONSE
if(accountInfo.languages.id!=null)
{
log.info("Language added successfully")
}
else
{
log.info("Language NOT added.") //want to display this in html report
inc++
}
if(accountInfo.educations!=null)
{
log.info("Educations added successfully")
}
else
{
log.info("Educations NOT added.") //want to display this in html report
inc++
}
assert inc<=0,"API unable to return all parameters, Please check logs"
方案
我在做什么在这里,如果测试条件不匹配,去ELSE,我做可变INC的增量所以最后如果我的测试失败,如果inc> 0。
报告
在JUnit风格HTML生成的报告,如果测试失败就只显示所谓API unable to return all parameters, Please check logs
一个消息,但我想要的是显示每个IF状态信息转换成HTML报告如果任何条件进入或其他部分。
你给出的解决方案工作正常,我。只有一个问题,即使断言失败,它也不会失败我的测试用例。直到声明一切正常。但是当我看着junit的html报告。它显示status = pass。我想要的是当断言失败时报告应该失败,并在报告中打印所有断言消息以查看失败。 –
你用过吗?它是否显示了您的所有信息?你有没有设法从SoapUI本身尝试它? – Rao
只是在回答中将if(messages)'改为'if(messages.toString())'。你可以试试这个更新的答案吗? – Rao