使用 selenium 测试注销
Testing logout with selenium
嗨,我是 selenium 的新手,我必须测试用户是否可以从页面注销,这是我测试它的方法,但不幸的是它永远不会进入页面,我想我在方法中遗漏了一些东西:
public boolean logOut() {
WebDriver driver = getDriver();
//driver.get(BASE_URL);
driver.get("http://enos.itcollege.ee/~mkalmo/selenium/menu.php");
elementById("log_out_link").click();
if(!driver.getCurrentUrl().equals("http://enos.itcollege.ee/~mkalmo/selenium/index.php"))
{
return false;
}
return true;
}
这是测试,如果用户 return 访问主页,它应该 return 为真,这样测试就会通过,但它总是 return 为假:
@Test
public void logOutSuccess() {
LoginPage loginPage = LoginPage.goTo();
loginPage.logInWith(USERNAME, CORRECT_PASSWORD);
System.out.println(driver.getPageSource());
assertThat(loginPage.logOut(), is(true));
}
或者,您可以明确等待 "Log In" 按钮出现:
WebDriverWait wait = new WebDriverWait(driver, 5);
try {
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id('log_in_button')));
return true;
} catch (TimeoutException exception) {
return false;
}
嗨,我是 selenium 的新手,我必须测试用户是否可以从页面注销,这是我测试它的方法,但不幸的是它永远不会进入页面,我想我在方法中遗漏了一些东西:
public boolean logOut() {
WebDriver driver = getDriver();
//driver.get(BASE_URL);
driver.get("http://enos.itcollege.ee/~mkalmo/selenium/menu.php");
elementById("log_out_link").click();
if(!driver.getCurrentUrl().equals("http://enos.itcollege.ee/~mkalmo/selenium/index.php"))
{
return false;
}
return true;
}
这是测试,如果用户 return 访问主页,它应该 return 为真,这样测试就会通过,但它总是 return 为假:
@Test
public void logOutSuccess() {
LoginPage loginPage = LoginPage.goTo();
loginPage.logInWith(USERNAME, CORRECT_PASSWORD);
System.out.println(driver.getPageSource());
assertThat(loginPage.logOut(), is(true));
}
或者,您可以明确等待 "Log In" 按钮出现:
WebDriverWait wait = new WebDriverWait(driver, 5);
try {
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id('log_in_button')));
return true;
} catch (TimeoutException exception) {
return false;
}