Java 如何在selenium webdriver上同时断言或验证多个必需的错误消息

Java 如何在selenium webdriver上同时断言或验证多个必需的错误消息,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,问题描述: 我想验证是否应显示所需的空白输入字段错误消息。像这样的例子。 我有Web元素 <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> &l

问题描述:

我想验证是否应显示所需的空白输入字段
错误
消息。像这样的例子。 我有
Web元素

<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 driver

在使用
selenium web driver时
断言所有错误消息。如果您可以看到所有错误消息,当您没有在文本框中输入任何内容并单击submit或register时,您可以获取所有这些错误消息的文本并断言它们。
但是,如果您的网站功能类似于,比如说,当您没有输入任何内容时,它只显示“名字”字段的错误,而没有显示所有其他UI错误,那么您无法一次验证所有错误消息


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

如果您可以看到所有错误消息,当您没有在文本框中输入任何内容时,单击submit或register,您可以获取所有这些错误消息的文本并断言它们。 但是,如果您的网站功能类似于,比如说,当您没有输入任何内容时,它只显示“名字”字段的错误,而没有显示所有其他UI错误,那么您无法一次验证所有错误消息


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

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

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

如果您想一次测试所有断言,那么您必须在代码中添加softAssert,这将在检查所有字段后给出最终结果。 若并没有,当断言失败时(假设名字错误无效),系统将在它之后抛出断言错误

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

您能详细解释一下我没有得到您想要做的事情,您想在网页的UI端或直接从HTML DOM验证它吗?HTML网页UI设计
driver.findelelement(By.xpath(//div[contains(text(),'First Name is required')))))。isDisplayed()
;你试过这样的东西吗?重复多次,你可以详细解释一下我没有得到你想要做的,你想在网页的UI端或者直接从HTML DOM?HTML网页UI设计
driver.findelelement(By.xpath(//div[contains(text(),'First Name is required'))))验证它。isDisplayed()
;你试过这样的东西吗?重复你想要的次数