>我有一个黄瓜场景大纲,其中示例表我想传递 6 个空格字符串 (" "( 作为值。在示例表中,仅将值留空,传递一个空字符串。我尝试使用双引号和单引号,结果是一样的。它传递 8 个字符串(包括 2 个引号(,而不是 6 个。
方案大纲如下所示:
Scenario Outline: Change password - Negative Invalid Confirm Password
Given I log in as a user on the change password page
When I insert the current password
And I insert password
And I insert invalid confirm password <value>
And I move focus to another element on the change password page
Then <message> appears under the confirm password field
Examples:
|value |message |
|Aa1! |Passwords Invalid or Do Not Match |
|" " |Passwords Invalid or Do Not Match |
这就是功能定义的样子:
When(/^I insert invalid confirmPassword (.*)$/, async (confirmNewPass:string) => {
await changePasswordPage.changePasswordComponent.insertConfirmNewPassword(confirmNewPass);
});
你需要像这样创建特征文件
Feature: Title of your feature
I want to use this template for my feature file
Scenario Outline: Title of your scenario outline
Given I want to write a step
When I check for the <value> in step
Then I verify the <message> in step
Examples:
|value |message |
| "Aa1!" | "Passwords Invalid or Do Not Match" |
| " " | "Passwords Invalid or Do Not Match" |
然后在步骤定义中,您将必须使用黄瓜表达式。
示例代码写在下面
@Given("I want to write a step")
public void i_want_to_write_a_step() {
// Write code here that turns the phrase above into concrete actions
System.out.println("In a given method!");
}
@When("I check for the {string} in step")
public void i_check_for_the_Aa1_in_step(String value) {
// Write code here that turns the phrase above into concrete actions
System.out.println("Value: " + value);
}
@Then("I verify the {string} in step")
public void i_verify_the_Passwords_Invalid_or_Do_Not_Match_in_step(String message) {
System.out.println("Message: " + message);
}