Путаница с утверждением Soft, если сообщение присутствует

1

Я автоматизирую форму, сценарий, когда дается недопустимая запись, сообщение "Успех" не должно появляться

Я попытался проверить это, используя

s_assert.assertEquals(driver.findElement(By.xpath("//div[contains(.,'Succes')]")).isDisplayed(), false);

Но во время работы он показывает "Невозможно найти элемент:"

Сообщение появляется только в том случае, если мой тест завершился неудачно. Поэтому ожидаемое поведение состоит в том, что элемент не будет присутствовать.

Как сказать webdriver просто проверить, присутствует ли он и не бросать ошибку! Заранее спасибо...

Теги:
webdriver
assert

2 ответа

0
Лучший ответ

Проблема, с которой вы сталкиваетесь, не связана с механизмом Assertion скорее найти элемент. Вы ожидаете элемент, который не был расположен Selenium и, следовательно, код не достиг до утверждения

Вы должны делать какую-то обработку исключений в зависимости от того, что вы хотите. перед утверждением.

public bool Test()
{
    try
    {

        Driver.FindElement(By.Id("test"));
        return true;
    }
    catch (Exception ex)
    { // catch the exception you want
        return false;
    }
}

public void TestAssert()
{
    Assert.AreEqual(Test(),false);
}

Примечание: у меня есть С# и NUnit

  • 0
    Спасибо за ответ .. Я просто хочу проверить, присутствует ли элемент. Любой способ, кроме использования findElement?
  • 0
    Потрясающие. Рад, что помог
0

Спасибо... Я добавил код ниже, который исправил мою проблему.

     public static boolean isElementPresent(String xpath) {
          try {
           driver.findElement(By.xpath(xpath));
           return true;
          } catch (Exception e) {
           return false;
          }
         }

     public void formsNegetive() {                  

boolean b = isElementPresent (("//div [@class= 'alert-box success']")); if (b) {s_assert.assertEquals("Успех: скоро вас свяжут наши эксперты", driver.findElement(By.cssSelector("div.alert-box.success")). getText()); } }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню