java - 如何验证 url 是否正确

标签 java selenium selenium-webdriver selenium-chromedriver

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

这是我的代码:

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

最佳答案

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

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);

关于java - 如何验证 url 是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56211100/

相关文章:

javascript - Safari 上的 Selenium Webdriver : Keys. ENTER 不起作用

java - 使用 Selenium 使用 sendKeys() 时,大写字母被重新排列/交换

java - 2d自上而下平滑寻路libGDX

java - Java 中的多态性、继承和数组排序练习

java - 集成 Grails 和 GWT

javascript - 使用 Javascript 从 Selenium::Remote::Driver 包恢复 Windows "Confirm Box"

java - Selenium WebDriver - 无法使用 AutoIT 上传文件

java.util.concurrent.LinkedBlockingQueue 不是 FIFO 吗?

java - getTitle() 方法在 Chrome 中返回当前页面的标题,但在 Firefox 中使用 Selenium 通过 Java 返回上一页的标题

java - `elementToBeClickable` 只是检查它是否可见并启用