【发布时间】:2018-11-09 11:38:19
【问题描述】:
我正在测试的内容: 转到网页,单击在新选项卡中打开的链接。确认新标签的 URL。
我在 Cucumber/Selenium/Java 中执行此操作。
这是我的小黄瓜
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,而不是新标签页...
【问题讨论】:
标签: java selenium automated-tests cucumber