【问题标题】:Should we call APIs inside TestNg DataProviders?我们应该在 TestNg DataProviders 中调用 API 吗?
【发布时间】:2018-09-13 01:26:26
【问题描述】:

假设我有一个场景,我必须测试一个 API GET Something。为了测试这个 API,我需要使用完全不相关的 API 创建一些测试数据。让我们称它们为数据 API。

在DataProvider而不是测试类中调用Data API可以吗?

PS - 我用谷歌搜索答案,只看到一个与我的问题无关的链接。 how to replace the hardcoded values from data provider

【问题讨论】:

    标签: testng


    【解决方案1】:

    是的,最好在 DataProvider 中访问您的数据 API。

    测试方法/类不应包含任何与数据操作相关的逻辑。仅测试步骤。

    【讨论】:

      【解决方案2】:

      这取决于您的测试设计和需求。数据驱动测试用于使用多个数据集迭代相同的测试。如果您使用多个数据集迭代相同的测试用例,那么数据驱动功能是最适合的解决方案。您甚至可以针对单组数据使用数据驱动功能,但您应该考虑使用设置方法并选择最合适的方法。

      例如,当将TestNG's QAF extension 用于web-service testing 时,您还可以在BDD 和Java 中的before 方法中设置数据并在请求调用中使用该数据。例如: JAVA:

      userRequests("get.sample.call", data);
      

      BDD:

      user requests "get.sample.call" with data "${data}"
      

      如果您没有为多个数据集迭代相同的测试,您可以使用 qaf 添加额外的 meta-data 比如说 test-data-req,它为 Web 服务调用提供请求密钥以获取数据。在调用 testng 方法之前,可以使用元数据进行 Web 服务调用以填充 data 以用于测试用例。

      【讨论】:

        猜你喜欢
        • 2021-03-11
        • 2014-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-04
        • 2016-08-19
        • 1970-01-01
        • 2017-06-13
        相关资源
        最近更新 更多