Java Selenium断言等于Value1或Value2
我想用Selenium(Java、Testng)进行测试 如果我的实际值等于两个值中的一个,因为我的值可以是值1或值2,并且两个值都是正确的 如果我只想声明一个等式,我将使用以下结构:Java Selenium断言等于Value1或Value2,java,selenium,selenium-webdriver,intellij-idea,testng,Java,Selenium,Selenium Webdriver,Intellij Idea,Testng,我想用Selenium(Java、Testng)进行测试 如果我的实际值等于两个值中的一个,因为我的值可以是值1或值2,并且两个值都是正确的 如果我只想声明一个等式,我将使用以下结构: String expectedPopUpV1 = "Value1"; String expectedPopUpV2 = "Value2"; String actualPopUp = driver.findElement(By.cssSelector(Value)).getText(); Assert.assert
String expectedPopUpV1 = "Value1";
String expectedPopUpV2 = "Value2";
String actualPopUp = driver.findElement(By.cssSelector(Value)).getText();
Assert.assertEquals(actualPopUp,expectedPopUp);
但是如果我想做这样的东西,我该怎么办呢
Assert.assertEquals(actualPopUp,expectedPopUp1||expectedPopUp1);
您可以为此使用
assertTrue(布尔条件,字符串消息)
,并在消息中给出详细信息
boolean isEqual = actualPopUp.equals(expectedPopUpV1) || actualPopUp.equals(expectedPopUpV2);
Assert.assertTrue(isEqual, "The text " + actualPopUp + " is not " + expectedPopUpV1 + " or " + expectedPopUpV2);
您可以为此使用
assertTrue(布尔条件,字符串消息)
,并在消息中给出详细信息
boolean isEqual = actualPopUp.equals(expectedPopUpV1) || actualPopUp.equals(expectedPopUpV2);
Assert.assertTrue(isEqual, "The text " + actualPopUp + " is not " + expectedPopUpV1 + " or " + expectedPopUpV2);
没有任何这样的方法可用。我能想到的两个最接近的选择:
if(!actualPopUp.equals(expectedPopUp1) || !actualPopUp.equals(expectedPopUp2) {
Assert.fail("insert failure messsage here");
}
或
另一个选项是通过使用构建器模式构建您自己的模式来真正扩展断言功能:
AssertBuilder.with(actualPopUp).equals(expectedPopUp1).or(expectedPopUp2);
但是对于一个简单的用例来说,这可能太复杂了。没有任何这样的方法可用。我能想到的两个最接近的选择:
if(!actualPopUp.equals(expectedPopUp1) || !actualPopUp.equals(expectedPopUp2) {
Assert.fail("insert failure messsage here");
}
或
另一个选项是通过使用构建器模式构建您自己的模式来真正扩展断言功能:
AssertBuilder.with(actualPopUp).equals(expectedPopUp1).or(expectedPopUp2);
但对于一个简单的用例来说,这可能太复杂了。下面的选项也应该使用三元运算符:
Assert.assertEquals(expectedPopUpV1.equalsIgnoreCase(actualPopUp )?expectedPopUpV1:expectedPopUpV2 , actualPopUp );
以下选项也应使用三元运算符工作:
Assert.assertEquals(expectedPopUpV1.equalsIgnoreCase(actualPopUp )?expectedPopUpV1:expectedPopUpV2 , actualPopUp );