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()
;你试过这样的东西吗?重复你想要的次数