testng - 我们应该在 TestNg DataProviders 中调用 API 吗?
问题描述
假设我有一个场景,我必须测试一个 API GET Something。为了测试这个 API,我需要使用完全不相关的 API 创建一些测试数据。让我们称它们为数据 API。
可以在 DataProvider 中调用 Data API 而不是在测试类中调用吗?
PS - 我用谷歌搜索答案,只看到一个与我的问题无关的链接。如何替换数据提供者的硬编码值
解决方案
这取决于您的测试设计和需求。数据驱动测试用于使用多个数据集迭代相同的测试。如果您使用多个数据集迭代相同的测试用例,那么数据驱动功能是最合适的解决方案。您甚至可以对单组数据使用数据驱动功能,但您应该考虑使用设置方法进行替代,并选择最合适的方法。
例如,当使用TestNG 的 QAF 扩展进行Web 服务测试时,您还可以拥有 BDD 和 Java 中的 before 方法的背景来设置数据并在请求调用中使用该数据。例如: JAVA:
userRequests("get.sample.call", data);
BDD:
user requests "get.sample.call" with data "${data}"
如果您没有为多个数据集迭代相同的测试,您可以使用 qaf 添加额外的meta-data
let say test-data-req
,它为 Web 服务调用提供请求密钥以获取数据。在调用 testng 方法之前,可以使用元数据进行 Web 服务调用以填充data
测试用例。
推荐阅读
- css - 角垫按钮切换焦点覆盖颜色
- python - 在 pycharm 版本 2020.1 中安装“tensorflow”库时出错
- javascript - 什么是正确的继承方式是带有初始化方法的JS
- hadoop - 如何使用 Impala 对 hive 表中的列子集运行计算统计信息?
- c - 如何对C中数组的每个元素应用相同的条件和操作
- java - 无法在安卓手机上禁用麦克风
- windows - Chrome 下载危险警告和 windows smartscreen
- sql - 使用 SELECT INTO 查询读取 NUMBER 变量中的空值,但 oracle 不将其视为空值。变量中存在的值是什么..?
- excel - 当数据来自另一张表时,基于用户表单的自动填充表
- android - FloatingActionButton 未打开对话框