Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java If语句在Selenium Webdriver中不起作用_Java_Selenium_If Statement - Fatal编程技术网

Java If语句在Selenium Webdriver中不起作用

Java If语句在Selenium Webdriver中不起作用,java,selenium,if-statement,Java,Selenium,If Statement,我总是对selenium中的if语句有问题。大多数时候,他们做的与他们应该做的相反 我故意输入了一个错误的电子邮件地址,因此付款将失败。哎呀!显示在网页上,这是正确的响应,但我的测试失败。当我输入正确的电子邮件时,xpath是正确的 请有人看看,告诉我哪里出了问题 @Test(dependsOnMethods = { "WithdrawalButtonOnNavBar" }) public void WithdrawWinnings() throws Interrup

我总是对selenium中的if语句有问题。大多数时候,他们做的与他们应该做的相反

我故意输入了一个错误的电子邮件地址,因此付款将失败。哎呀!显示在网页上,这是正确的响应,但我的测试失败。当我输入正确的电子邮件时,xpath是正确的

请有人看看,告诉我哪里出了问题

@Test(dependsOnMethods = { "WithdrawalButtonOnNavBar" })
    public void WithdrawWinnings() throws InterruptedException {
        Thread.sleep(500);
        driver.findElement(By.cssSelector("input[name='email']")).sendKeys(skrillAccount);
        Thread.sleep(500);
        driver.findElement(By.xpath("//p[contains(text(),'Continue')]")).click();
        Thread.sleep(500);
        driver.findElement(By.cssSelector("input[name='amount']")).sendKeys("2");
        Thread.sleep(500);
        driver.findElement(By.xpath("//*[@id=\"__next\"]/div/div[1]/div[2]/div/div[3]/div/div/div")).click();
        Thread.sleep(5000);
        WebElement Success = driver.findElement(By.xpath("//p[contains(text(),'Success!')]"));
        WebElement Oops = driver.findElement(By.xpath("//p[contains(text(),'Oops!')]"));
        if (Success.isDisplayed()) {
            System.out.println("Payment was successful");
        } else if(Oops.isDisplayed())  {
            System.out.println("Payment was unsuccessful");
        }
        ;

    }
org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“方法”:“xpath”,“选择器”:“//p[contains(text(),'Success!'])]”} (会话信息:chrome=90.0.4430.85) 有关此错误的文档,请访问:


这与
if
语句无关。在查找“success”元素时引发异常。明确的等待应该有帮助:

WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement Success = wait.Until(ExpectedConditions.presenceOfAllElementsLocatedBy​(By.xpath("//p[contains(.,'Success!')]"));

if (Success.isDisplayed())
我还发现
contains(,“…”)
contains(text(),“…”)
更宽容