Предположим, я хотел протестировать свою функциональность LoginPage.Поэтому, если я введу правильное имя пользователя и пароль, я буду перенаправлен в welcomepage.jsp.
Я использовал управляемую контейнером безопасность, поэтому есть некоторая j_security_check, которую вы увидите в URL.
Feature: MyApp Login Feature
Validate MyApp Login Features
Scenario Outline: User logs to MyApp
Given I navigate to MyApp login page
And I enter <username> and <password>
And I click on login button
Then user entered correct username and password then they should be redirected to the proper <url>
Examples:
| username | password | url |
| correctuser | correctpassword | welcome.jsp |
Моя проблема в том, как обработать редирект 302.Если я посмотрел на вкладку «Моя сеть» в своем браузере, я вижу следующую последовательность
- POST j_security_check
GET welcome.jsp
@Then("^Then user entered correct username and password then they should be redirected to the proper ([^\"]*)$")
public void user_should_be_redirected_to_the_proper(String expectedURL) throws Throwable {
System.out.println("expectedURL :: " + expectedURL );
if (driver.getCurrentUrl().contains(expectedURL)) {
System.out.println("MyApp Test Pass");
} else {
System.out.println("MyApp Test Failed");
Assert.fail("MyApp Test failed!");
}
}
Я видел здесь некоторые вопросы, которые задают об этом, например JavaScript Executor в Selenium WebDriver
Но я думаю, что это не AJAX-вызов, в котором мы ждем DOM Ready