2

我有一个验证 100 个员工姓名的场景,QueryString 将以 xml 格式返回它们。我要做的就是验证 Assertion 语句中的所有员工姓名,如下所示。除了在场景大纲示例中添加每个名称之外,是否可以发送一个包含 100 个员工姓名的列表作为输入,以便我可以在 java 中遍历它们并在断言条件下轻松验证。请指教。

Scenario Outline: When the User queries for employee information, the correct records are returned
    Given the webservice is running
    When the User queries for employee information "<QueryString>"
    Then the User receives correct data "<Name>"

Examples:
|QueryString|Name|
|Some localhost url|Peter|
|Some localhost url|Sam|
.
.

@Then("^the User receives correct data\"([^\"]*)\"$")
    public void the_user_receives_correct_data(String arg1) throws Throwable {
        queryResultPage = selenium.getPageSource();
        assertTrue(queryResultPage.contains(arg1));
    }
4

2 回答 2

0

所以我会在这里回答 LINGS 评论你可以做什么,是在你的步骤定义中使用这些文件名来加载你的代码中的文件。据我所知,黄瓜不支持直接文件加载。我使用这样的东西来定位我的相对路径文件名的完整资源路径:

public static String getAbsoluteResourcePath(String resourcePath) {

    if (SystemUtils.IS_OS_WINDOWS) {
      return Utils.class.getResource(resourcePath).getPath().substring(1).replace("/", File.separator);
    } else {
      return Utils.class.getResource(resourcePath).getPath().replace("/", File.separator);
    }
}

resourcePath 应该是你的相对文件路径

于 2015-04-02T06:32:26.557 回答
0

您正在寻找的是QAF支持的外部测试数据支持。您可以使用任何带有拦截器的内置数据提供者来修改数据集或自定义数据提供者

如果您使用的是黄瓜版本 5+,您可以使用qaf-cucumber,它将为您提供黄瓜的所有 qaf 功能。对于较低版本,您可以使用 QAF 运行器运行现有的功能文件。

于 2019-12-22T03:20:46.023 回答