Selenium Date比较示例



我正在尝试使用Selenium验证日期。所以我的设想是:;

Scenario: Date validation
When I set field <field> to value <value>
And I save the form
Then I should see error message <message>
Examples:
| field | value | message |
| startDate | 01/01/2014 | End date should be greater than start date |
| endDate | 01/01/2014 | End date should be greater than start date |

我填充字段的步骤方法是通用的,如下所示;

@When("I set field <field> to value <value>")
public void populateField(@Named("field") String fieldName, @Named("value") String value) {
    populateFieldValue(fieldName, value);
}

我的问题是,由于step方法是通用的,我如何设置开始日期,然后设置结束日期,并在一行示例中显示错误消息。

您可以使用StringListConverter将值列表传递给参数

简单示例:

Scenario: Date validation
When I set field <field> to value <value>
Then I should see error message <message>
Examples:
| field | value | message |
| startDate | 01/01/2014 | End date should be greater than start date |
| endDate | 01/01/2014 | End date should be greater than start date |
| startDate,endDate | 01/01/2014, 01/01/2014 | display the error message in a single example line. |

还有一个测试代码:

@When("I set field <field> to value <value>")
public void xxxx(@Named("field") List<String> fields, 
                 @Named("value") List<String> values){
    System.out.println(">>>>>------------->>>>----------->>>>>");
    for( int i = 0; i < fields.size(); i++ ){
        String field = fields.get(i);
        String value = values.get(i);
        System.out.println(" --> Set field: " + field + " to value: " + value);
    }
}
@Then("I should see error message <message>")
public void when(@Named("message") String message){
    System.out.println(" -------> message = " + message);
}

上述测试生成以下结果:

Running story main/resources/test.story
>>>>>------------->>>>----------->>>>>
 --> Set field: startDate to value: 01/01/2014
 -------> message = End date should be greater than start date
>>>>>------------->>>>----------->>>>>
 --> Set field: endDate to value: 01/01/2014
 -------> message = End date should be greater than start date
>>>>>------------->>>>----------->>>>>
 --> Set field: startDate to value: 01/01/2014
 --> Set field: endDate to value: 01/01/2014
 -------> message = display the error message in a single example line.

最新更新