【问题标题】:How to Assert or Verify Multiple Required Error message at the time on selenium webdriver如何在 selenium webdriver 上断言或验证多个必需的错误消息
【发布时间】:2019-04-15 23:09:34
【问题描述】:

问题描述:

我想验证是否应显示空白输入字段Error 消息。像这样的例子。 我有Web Element

<div _ngcontent-c4="" class="red-text text-darken-4 fs-0--8">First Name is required</div>
<div _ngcontent-c4="" class="red-text text-darken-4 fs-0--8">Last Name is required</div>
<div _ngcontent-c4="" class="red-text text-darken-4 fs-0--8">Phone Name is required</div>

这些Error消息我当时想验证所有消息assert与否。

你能帮我如何使用selenium web driverassert所有错误消息。

【问题讨论】:

  • 你能否详细解释一下我没有得到你想要做什么,你想在网页的 UI 端验证它还是直接从 HTML DOM 验证它?
  • HTML网页UI设计
  • driver.findElement(By.xpath("//div[contains(text(),'First Name is required')]")).isDisplayed();你试过这样的事情吗?重复你想要的次数

标签: java selenium selenium-webdriver


【解决方案1】:

如果您可以看到所有错误消息,当您没有在文本框中输入任何内容并单击提交或注册时,您可以获得所有这些错误消息的文本并声明它们。 但是,如果您的网站功能就像当您不输入任何内容时,它只显示名字字段的错误并且没有显示所有其他 UI 错误,那么您无法一次验证所有错误消息.

如果一次显示所有错误消息,您可以将它们放入一个数组列表中,并通过使用 Assert.assertEquals(expectedArray,actualArray),您可以一次断言所有内容。

【讨论】:

    【解决方案2】:

    如果您想一次测试所有断言,则必须在代码中添加 softAssert,这将在检查所有字段后为您提供最终结果。 如果没有发生断言失败(假设名字错误无效),系统将在它之后抛出断言错误。

            SoftAssert softAssert = new SoftAssert();
            String ActualErrorMEssage = firstNameerrorXpath.getText;
            String ActualErrorMEssage2 = secondNameNameerrorXpath.getText;
            softAssert.assertEquals(ActualErrorMEssage,ExpectedErrorMEssage);
            softAssert.assertEquals(ActualErrorMEssage2,ExpectedErrorMEssage);
            softAssert.assertAll();
    

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      • 2020-09-04
      • 2019-08-13
      • 1970-01-01
      • 2017-01-28
      • 2017-09-25
      相关资源
      最近更新 更多