我正在尝试测试一种情况,该情况下我的用户登录,然后导航到网站上的另一个页面,但是登录状态步骤之后我的登录状态丢失了。
我的小黄瓜看起来像这样:
Scenario: Verify this random link
Given I am logged in
When I go to this page
Then I can see this link
和代码:
public class Checkout {
WebDriver driver;
driver = DriverFactory.open("Chrome");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
String URL = "https://www.example.com/";
@Given("^I am logged in$")
public void i_am_logged_in() {
driver.findElement(By.linkText("Login")).click();
driver.findElement(By.id("username")).sendKeys("test");
driver.findElement(By.id("password")).sendKeys("123");
driver.findElement(By.xpath("/some/xpath")).click();
}
@When("^I go to this page$")
public void i_go_to_this_page(){
driver.get(URL + "instance1");
}
该代码在第一步中可以很好地用于登录,但是在下一步中,我可以看到我已注销。
请给我一些帮助吗?
已解决!
我要做的就是在我的登录步骤中添加一个断言,以验证我是否已经登录(谢谢Kyle!)
这是我添加到登录步骤中的代码:
String logoutButton = driver.findElement(By.linkText("Logout")).getText();
Assert.assertTrue(logoutButton.contains("Logout"));