-1
我正在自動化一個網站,並且我正在使用軟斷言來失敗我的測試用例。但是現在我得到了在特定情況下失敗的測試方法之後出現的所有測試方法的失敗報告。下面給出的示例代碼SoftAssert在調用SoftAssertobj.assertAll()函數後失敗所有測試方法
//Function Call
commFunction.backnavigation(driver, props,"Item",ExcelResult_Field, className,"CustomerPricing");
//Function Declaration
public void backnavigation(WebDriver driver, Properties props,
String MenuName, boolean TestStatus, String className,
String MethodName) throws InterruptedException,
EncryptedDocumentException, InvalidFormatException, IOException {
Boolean bool_backButton = ValidationHelper.isElementPresent(driver,
By.xpath(LocatorModule(props, "BackNavigationButton")));
if (bool_backButton.equals(true)) {
ExecutionHelper.ElementTobeClicked_Xpath(driver,
By.xpath(LocatorModule(props, "BackNavigationButton")));
ListClassView = ExecutionHelper
.waitForElementVisible(
driver,
By.xpath("//ul[@id='settings_menu']//li/a[text()='"
+ MenuName
+ "']/ancestor::li/following-sibling::li[1]/ul/li"));
if (ListClassView.equals(true)) {
writeResulttoExcel(TestStatus, className,
MethodName);
if(TestStatus!=true)
{
// softAssert.assertEquals(false, true,"TEST STATUS Fail--assert fail");
softAssert.fail("TEST STATUS Fail--assert fail");
}
}
else {
Thread.sleep(3000);
driver.findElement(
By.xpath(".//*[@id='settings_menu']/li[@class='left width_fluid']/a[text()='"
+ MenuName + "']")).click();
writeResulttoExcel(false, className, MethodName);
//softAssert.assertEquals(false, true,"ListClassView FALSE--assert fail");
softAssert.fail("ListClassView FALSE--assert fail");
Thread.sleep(2000);
}
Thread.sleep(3000);
}
else {
driver.navigate().back();
Boolean ListClassView = ExecutionHelper
.waitForElementVisible(
driver,
By.xpath("//ul[@id='settings_menu']//li/a[text()='"
+ MenuName
+ "']/ancestor::li/following-sibling::li[1]/ul/li"));
if (ListClassView.equals(true))
{
writeResulttoExcel(false, className, MethodName);
// softAssert.assertEquals(false, true,"BACK BUTTON FALSE LIST VIEW AVAILABLE--assert fail");
softAssert.fail("BACK BUTTON FALSE LIST VIEW AVAILABLE--assert fail");
}
else {
Thread.sleep(3000);
driver.findElement(
By.xpath(".//*[@id='settings_menu']/li[@class='left width_fluid']/a[text()='"
+ MenuName + "']")).click();
writeResulttoExcel(false, className, MethodName);
// softAssert.assertEquals(false, true,"BACK BUTTON FALSE LIST VIEW NOT AVAILABLE--assert fail");
softAssert.fail("BACK BUTTON FALSE LIST VIEW NOT AVAILABLE--assert fail");
}
Thread.sleep(3000);
}
softAssert.assertAll();
}
以下方法1應以我的實際場景中失敗,方法2應該通過。但是在調用softAssert.assertAll()之後;方法1 & 2失敗。爲該場景附加TestNG報告。測試在客戶定價失敗後,報告顯示所有測試方法都失敗了。應該應用哪種更改來解決此問題。
粘貼你的實際代碼。如果你正在調用相同的函數,那麼兩者都會失敗。也asserttrue只需要一個參數.. –
@niharika_neo更新了實際的代碼。請看看那個 – Baburaj