Утверждение о совпадении driver.getcurrenturl () и ожидаемые отчеты о URL проходят, когда URL не совпадают - PullRequest
0 голосов
/ 22 сентября 2019

Я новичок в Selenium и пытаюсь использовать систему селен / огурец / джунит в качестве пробной версии.У меня есть простой тест, чтобы войти на сайт и пройти / не пройти тест на основе того, соответствует ли фактический URL-адрес ожидаемому URL-адресу после входа в систему.Когда намеренно не совпадают фактические и ожидаемые URL-адреса, в отчете о огурцах отображается проход.

Мой тест вызывает файл подтверждений с кодом:

public static boolean  validatePageURL(WebDriver driver, String expectedURL)
{
    boolean result=false;
        if(driver.getCurrentUrl().equalsIgnoreCase(expectedURL));
        {

            result=true;
        }
        return result;

Если я закомментирую оператор If, вернется правильный логический результат.Если я изменю «result = true» на «result = false», в отчете об огурцах произойдет сбой.

Вот мой код шагов:

@When("^User enters username$")
public void user_enters_username() throws Throwable{
    login =new LoginPage(driver);
    login.enterUsername("user1");
}

@And("^User enters password$")
public void user_enters_password() throws Throwable {
          login.enterPassword("P123456");
}

@And("^User clicks login button$")
public void user_clicks_login_button() throws Throwable {
   login.clickLoginButton();
}

@Then("^User is logged in successfully$")
public void user_is_logged_in_successfully() throws Throwable {

Assertions.assertTrue(Compare3.validatePageURL(driver, "incorrecturl"));    

Мой файл утверждений имеет:

public class Compare3 {
public static boolean  validatePageURL(WebDriver driver, String expectedURL)
{
    boolean result=false;
        if(driver.getCurrentUrl().equalsIgnoreCase(expectedURL));
        {

            result=true;
        }
        return result;

В приведенном выше сценарии я хочу, чтобы отчет об огурцах показывал ошибку, поскольку фактические и ожидаемые URL не совпадают.

Я могу сделать так, чтобы отчет показывал ошибку, покупая, комментируя оператор if или изменяя значение результата в операторе if.

1 Ответ

1 голос
/ 23 сентября 2019

Ваше условие if не работает, так как после условия if существует терминатор ;, поэтому код никогда не входит в него, если условие и значение boolean никогда не меняются.
Вам просто нужноудалить ;, который присутствует после вашего условия if, и ваш код будет работать нормально.

if(driver.getCurrentUrl().equalsIgnoreCase(expectedURL)){
    result=true;
}
...