- 1 为什么开发ZenData
- 2 ZenData数据生成工具简介
- 3 如何获得支持
- 4. 快速入门
- 4.1 安装部署
- 4.2 将ZenData加入系统环境变量中(可选)
- 4.3 命令行参数说明
- 4.4 命令行调用示例
- 4.5 內置数据定义示例
- 4.6 YAML定义语法总览
- 5. 用户指南
- 5.1. 数据定义语法
- 5.2. 內置数据定义
- 5.3. 用户数据自定义
- 5.4. 数据定义引用
- 5.4.1 引用ranges系列
- 5.4.2 引用instances实例
- 5.4.3 多froms联合引用
- 5.4.4 引用Config配置
- 5.4.5 引用yaml文件内容
- 5.4.6 全局from语句
- 5.5. 数据输出
- 5.5.1 文本格式输出
- 5.5.2 JSON格式输出
- 5.5.3 XML格式输出
- 5.5.4 SQL格式输出
- 5.5.5 直接插入数据到MySQL
- 5.5.6 CSV格式输出
- 5.5.7 Excel格式输出
- 5.5.8 ProtoBuf格式输出
- 5.6. ZenData命令行详解
- 5.6.1 Default配置覆盖
- 5.6.2 多配置文件新语法
- 5.6.3 列出內置数据
- 5.6.4 查看內置数据
- 5.6.5 从SQL生成数据定义
- 5.6.6 从数据库表结构生成数据定义
- 5.6.7 清除数据前后缀
- 5.7. ZenData文章生成器
- 5.7.1 中文词语基础数据
- 5.7.2 转换文章到YAML配置
- 5.7.3 文章格式语法介绍
- 5.7.4 从YAML配置生成新文章
- 5.8. ZenData客户端
- 5.8.1 Web接口调用
- 5.8.2. 数据提供者示例
- 5.8.2.1 TestNG数据提供者示例
- 5.8.2.2 PHPUnit数据提供者示例
- 5.8.2.3 PyUnit数据提供者示例
- 5.8.3. Web数据管理工具
- 5.9 ZenData自动升级
- 6. 内置数据一览
TestNG数据提供者示例
- 2021-04-26 13:56:23
- 陈琦
- 5899
- 最后编辑:陈琦 于 2022-05-10 17:11:07
- 分享链接
以下的自动化测试项目中,我们使用ZenData数据生成服务作为TestNG的DataProvider。
https://gitee.com/ngtesting/ci_test_data_driven测试脚本的代码如下:
@Test(testName = "登录测试") public class TestLogin { private static final Logger log = Logger.getLogger(TestLogin.class); @Test(priority=1, testName = "登录", dataProvider="userAccount") public void login(String key, Object item) { JSONObject json = (JSONObject)item; String email = json.getString("email"); String password = json.getString("password"); String expectedTitle = json.getString("title"); // 此处完成登录操作 ... // 获取页面标题 String actualTitle = expectedTitle; // mock // 验证页面标题 Assert.assertEquals(actualTitle , expectedTitle); } @DataProvider(name="userAccount") public Object[][] getUserAccountData() { Object[][] data = ZenData.LoadData( "127.0.0.1:8848", "","users/test/_account.yaml", 3); return data; } }ZenData服务接口请求代码如下:
public class ZenData { public static Object[][] LoadData(String host, String defaultFile, String configFile, int count) { String url = String.format("http://%s/data?default=%s&config=%s&&n=%d", host, defaultFile, configFile, count); String jsonStr = HttpRequest.get(url); List<JSONObject> data = JSON.parseArray(jsonStr, JSONObject.class); Iterator<JSONObject> it = data.iterator(); Object[][] arr = new Object[data.size()][2]; int i = 0; while(it.hasNext()){ String key = i + 1 + ""; JSONObject item = it.next(); arr[i][0] = key; arr[i][1] = item; i++; } return arr; } }
发表评论