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