Espresso + Cucumber - 是否可以通过一次测试处理几个步骤
Espresso + Cucumber - is it possible to handle few steps with one test
我无法在我的测试之上写一个以上的注释。
对于场景:
Feature: Login Tests
@example
Scenario: Login
Given I am on the Login Screen
When I login with "haha@hihi.com" and "qq123456
我有两个工作测试:
@Test
@Given("^I am on the Login Screen$")
public void i_am_on_the_Login_Screen() throws InterruptedException {
mLoginPage.waitForPageVisible();
}
@Test
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and(String user, String password) throws InterruptedException {
mLoginPage.typeUser(user);
Espresso.closeSoftKeyboard();
mLoginPage.typePassword(password);
Espresso.closeSoftKeyboard();
mLoginPage.tapLoginBtn();
}
我想做的就是像这样合并它:
@Test
@Given("^I am on the Login Screen$")
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and1(String user, String password) throws InterruptedException {
mLoginPage.waitForPageVisible();
mLoginPage.typeUser(user);
Espresso.closeSoftKeyboard();
mLoginPage.typePassword(password);
Espresso.closeSoftKeyboard();
mLoginPage.tapLoginBtn();
}
但是我无法在单个测试上添加一些注释。可能吗?
- 如果您使用黄瓜,则不需要
@Test
注释
- 可以在一个方法上放置多个注释
就像你的例子:
@Given("^I am on the Login Screen$")
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and1(String user, String password) throws InterruptedException {
....
- 如果您保持小黄瓜场景相同,方法
i_login_with_and1
将被调用 2 次。
所以,是的,你可以。但最好不要(而且我看不出你需要它的任何理由)。此外,如果您不更改小黄瓜,测试可能会失败。
我无法在我的测试之上写一个以上的注释。
对于场景:
Feature: Login Tests
@example
Scenario: Login
Given I am on the Login Screen
When I login with "haha@hihi.com" and "qq123456
我有两个工作测试:
@Test
@Given("^I am on the Login Screen$")
public void i_am_on_the_Login_Screen() throws InterruptedException {
mLoginPage.waitForPageVisible();
}
@Test
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and(String user, String password) throws InterruptedException {
mLoginPage.typeUser(user);
Espresso.closeSoftKeyboard();
mLoginPage.typePassword(password);
Espresso.closeSoftKeyboard();
mLoginPage.tapLoginBtn();
}
我想做的就是像这样合并它:
@Test
@Given("^I am on the Login Screen$")
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and1(String user, String password) throws InterruptedException {
mLoginPage.waitForPageVisible();
mLoginPage.typeUser(user);
Espresso.closeSoftKeyboard();
mLoginPage.typePassword(password);
Espresso.closeSoftKeyboard();
mLoginPage.tapLoginBtn();
}
但是我无法在单个测试上添加一些注释。可能吗?
- 如果您使用黄瓜,则不需要
@Test
注释 - 可以在一个方法上放置多个注释
就像你的例子:
@Given("^I am on the Login Screen$")
@When("^I login with \"([^\"]*)\" and \"([^\"]*)\"$")
public void i_login_with_and1(String user, String password) throws InterruptedException {
....
- 如果您保持小黄瓜场景相同,方法
i_login_with_and1
将被调用 2 次。
所以,是的,你可以。但最好不要(而且我看不出你需要它的任何理由)。此外,如果您不更改小黄瓜,测试可能会失败。