【问题标题】:How can i verify that the url is correct如何验证网址是否正确
【发布时间】:2019-05-20 16:15:45
【问题描述】:

我正在尝试单击一个链接并确保打开的链接是正确的。 当我运行测试时,单击链接后,它会在新选项卡中打开。 新选项卡处于焦点位置,但比较仍在前一个选项卡中。 有人吗?

这是我的代码:

HomePage homepage = PageFactory.initElements(driver, HomePage.class);
homepage.openHomePage();
homepage.openSignUpPage();
SignUpPage signUpPage = PageFactory.initElements(driver, SignUpPage.class);
signUpPage.checkTermsOfServiceURL();
driver.findElement(link_terms_of_services).click();    wait.until(ExpectedConditions.urlToBe("https://www.atlassian.com/legal/cloud-terms-of-service"));

这是结果:

等待 url 为“https://www.atlassian.com/legal/cloud-terms-of-service”。当前网址:“https://trello.com/signup

【问题讨论】:

  • assertEquals(getTextofURL(), expectedURL); 这可能满足您的要求

标签: java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

您需要将驱动程序切换到新选项卡,如下所示:

const windowHandles = await driver.getAllWindowHandles();
await driver.switchTo().window(windowHandles[1]);

然后您可以在该选项卡中等待 URL,如下所示:

await driver.wait(async () => {
    const currentURL = await driver.getCurrentUrl();
    return currentURL === url;
}, timeout);

【讨论】:

    【解决方案2】:

    错误消息清楚地表明驱动程序的当前焦点在前一个窗口上,而不是打开的新窗口上。您可能会看到新窗口,但这并不意味着驱动程序也专注于同一窗口。 点击服务条款后使用以下代码:

    String MainWindow=driver.getWindowHandle();
    
    Set<String> s1=driver.getWindowHandles();       
    Iterator<String> i1=s1.iterator();              
            while(i1.hasNext())         
            {       
                String ChildWindow=i1.next();       
    
                if(!MainWindow.equalsIgnoreCase(ChildWindow))           
                {           
    
                        // Switching to Child window
                        driver.switchTo().window(ChildWindow);
                      // do your stuff
                }
    

    您可以通过以下方式切换回父窗口:

                driver.switchTo().window(MainWindow);
    

    【讨论】:

      猜你喜欢
      • 2016-10-21
      • 1970-01-01
      • 2021-06-30
      • 2013-06-11
      • 2023-03-17
      • 2023-03-25
      • 1970-01-01
      • 2012-01-29
      • 2021-12-09
      相关资源
      最近更新 更多