1
私はcheck
メソッドに結果値を渡す必要があります。Javaを使用してSeleniumのITestResultにテスト結果を渡します。
@Test
public void test1()
{
test = extent.createTest("Test Case 4 : Checking displayed date against current date",
"Checking if the date displayed on the check in and check out box is equal to the current date");
String checkin = driver.findElement(By.id("from")).getAttribute("value");
test.info(checkin);
String timeStamp = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
if (checkin.equals(timeStamp))
{
test.info("The checkin in date " + checkin + " is equal to the current date " + timeStamp);
} else
{
test.info("The checkin in date " + checkin + " does not equal the current date " + timeStamp);
}
}
@AfterMethod
public void check(ITestResult result) throws IOException
{
if (result.getStatus() == ITestResult.FAILURE)
{
String screenshotPath = GetScreenshot.capture(driver);
test.fail("Test Case Failed");
test.info(result.getThrowable());
test.info("Screenshot Below : " + test.addScreenCaptureFromPath(screenshotPath));
} else if (result.getStatus() == ITestResult.SKIP)
{
test.skip("Test Case Has Been Skipped");
} else
{
test.pass("Test Case Passed");
}
}
それでは、私が達成したいことはcheckin
がtimeStamp
に等しい場合checkin
は、テストが失敗するtimeStamp
と等しくない場合、テストは合格とすべきです。私の現在のコードでは、テストは両方の状況で合格します。
私はtest.fail()
などをcheck
メソッドに渡すことができます。
私はcheck(ITestResult.FAILURE);
を試しましたが動作しませんでした。
ClassCastException
を投じたcheck((ITestResult) test.fail("Test has Failed"));
も試しました。