Я автоматизирую веб-сайт, и я использую soft assert для отказа от тестирования. Но теперь я получаю отчеты об ошибках для всех тестовых методов, которые возникают после метода тестирования, который не удалось выполнить в конкретном сценарии. Ниже приведен пример кода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