2015-10-15 12 views
0

我正在使用assert来验证Selenium webdriver中的方案。 以下是我的代码。如果我在第一行中出现断言错误,那么执行不会发生在下一行。但是我想执行下一行,并且想要在testng xslt中打印失败报告。我正在使用ANT来触发我的构建。如何在selenium中使用断言,以便如果它引发断言错误,下一行将不会跳过(java)

Assert.assertEquals(actualdatesent, expecteddatesent, "comparing assert date"); 
Assert.assertEquals(actualuccnumber, expecteduccnumber);  

编辑

try-catch块

try 
{ 
    Assert.assertEquals(actualdatesent, expecteddatesent, "date validation failed"); 
    Assert.assertEquals(actualuccnumber, expecteduccnumber, number validation failed); 
} 
catch(Throwable T) 
{ 
    ErrorUtils.addVerificationFailure(T); 
    SeleniumScreenshot.takeFailedScreenshot(testname); 
} 
+2

使用testNG的'SoftAssert'如下。 'private static SoftAssert softAssert = new SoftAssert();''softAssert.assertEquals(actualuccnumber,expecteduccnumber);' – MKay

+0

感谢您的输入。 它的工作,我也能够继续下一行。 但我想将失败的消息添加到我的Testng报告中。 可以请让我知道如何添加失败的消息到我的报告。下面是我的catch catch代码 尝试Assert.assertEquals(actualdatesent,expecteddatesent,“date validation failed”); Assert.assertEquals(actualuccnumber,expecteduccnumber,number validation failed); } –

+0

catch(Throwable T){ \t \t \t ErrorUtils.addVerificationFailure(T); \t \t \t SeleniumScreenshot.takeFailedScreenshot(testname); \t \t} 通常,当我使用简单的断言,当它抛出断言错误catch块将采取此添加验证失败(),它正在显示在我的报告。 但在软断言情况下,我应该如何实现这一点。我应该通过在使用软断言时放置if else条件直接调用Add verification failure()。 –

回答

0

的唯一方法就是围绕每一个与try {} catch (AssertionError ex)断言和异常信息存储在列表中。在方法结束时,您将需要检查列表是否为空,并且自己将列表中的所有消息连接起来并丢弃AssertionError

+0

谢谢,它适用于我。 –