gpt4 book ai didi

java - 获取打开的选项卡 Selenium/Java 的 URL

转载 作者:行者123 更新时间:2023-12-04 10:48:07 24 4
gpt4 key购买 nike

我正在测试什么:
转到网页,单击在新选项卡中打开的链接。确认新选项卡的 URL。

我在 Cucumber/Selenium/Java 中这样做。

这是我的小 cucumber

Scenario Outline: The HomePage tourism box links to the correct page

Given I navigate to the HomePage in <language>
When I click on the visit Tourism PEI Button
Then I am taken to the Tourism PEI landing page URL in a new tab

Examples:
| language |
| English |
| French |

我点击链接的代码:
 @When("^I click on the Visit\\s" + pageElements + "$")
public void iClickFOnTheVisitTourismPEIButton(String element) {
pageModel.pageObject(element).click();
progressObj.wait(1);
}

以及我尝试从新选项卡中获取 URL 的代码。我在这里挣扎。我尝试的所有操作都会打开一个新选项卡,然后屏幕变为空白并显示数据;在 URL 中,否则它将在已经打开的选项卡上打开一个新选项卡。我知道我在这里并没有走在正确的轨道上。这只是我尝试过的最后一件事。
@Then("^I am\\s*((?:not)?)\\staken to the Tourism PEI landing page URL in a new tab$")
public void iAmTakenToTheTourismPEILandingPageURLInANewTab() {

WebDriver driver = new ChromeDriver();
Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL).keyDown(Keys.SHIFT).sendKeys(Keys.TAB).build().perform();
}

我也试过这个
 String currentURL;

currentURL = driver.getWebDriver().getCurrentUrl();
if (currentURL.equalsIgnoreCase("https://www.tourismpei.com/")) {
System.out.println("Matches" + currentURL);
} else {
System.out.println("Does not match" + currentURL);
}

它采用原始 URL 而不是新标签...

最佳答案

for (String handle : driver.getWindowHandles()) {
driver.switchTo().window(handle);
System.out.println(String.format("handle: %s, url: %s", handle, driver.getWebDriver().getCurrentUrl()));
}

关于java - 获取打开的选项卡 Selenium/Java 的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50607665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com