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

时间:2018-11-13 07:04:51

标签: java selenium selenium-webdriver

问题描述:

我要验证是否显示空白输入字段必填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时都进行验证。

请帮助我如何使用assert来同时selenium web driver列出所有错误消息。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果您可以看到所有错误消息,则在文本框中不输入任何内容并单击提交或注册时,您可以获取所有这些错误消息的文本并进行断言。 但是,如果您的网站功能类似于,例如,当您不输入任何内容时,它仅显示“名字”字段错误,而其他UI错误均未显示,那么您将无法一次验证所有错误消息

如果同时显示所有错误消息,则可以将它们带入一个数组列表,并使用Assert.assertEquals(expectedArray,actualArray),可以一次声明所有内容。