Что я тестирую: Зайдите на веб-страницу, нажмите на ссылку, которая открывается в новой вкладке.Подтвердите 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, а не новую вкладку ...