如何在黄瓜步骤之间保持登录会话?

时间:2018-08-08 11:44:44

标签: java cucumber gherkin

我正在尝试测试一种情况,该情况下我的用户登录,然后导航到网站上的另一个页面,但是登录状态步骤之后我的登录状态丢失了。

我的小黄瓜看起来像这样:

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"));

0 个答案:

没有答案