5月30日 20:13
Appium 如何进行数据驱动测试才稳定?
Appium 做数据驱动测试,核心是把测试步骤和测试数据拆开:脚本负责打开页面、输入、点击、断言,账号、密码、预期文案、设备差异、边界值放到 JSON、CSV、Excel、数据库或接口里。这样新增场景时通常只改数据,不改自动化逻辑,回归覆盖会稳定很多。
追问
数据源选 JSON、CSV 还是 Excel?
JSON 适合层级结构,CSV 适合简单二维数据,Excel 对测试同学友好但 CI 里容易遇到空值类型、日期格式问题。
最容易踩什么坑?
测试数据之间互相污染,比如同一手机号被多条用例注册。另一个坑是只换输入不换断言,跑很多数据却没有真正覆盖业务规则。
一条数据失败后要不要继续?
回归场景建议继续跑,并记录 caseId、设备、输入数据、截图和关键日志。冒烟测试可以关键链路失败就中止。
动态生成数据好不好?
手机号、订单号适合动态生成;空密码、特殊字符等边界值最好显式写在文件里。动态数据还要有清理逻辑。
和 Page Object 怎么配合?
Page Object 管页面操作,数据驱动管输入和预期。用例层读取数据后调用页面方法,断言也要带 caseId。
写段代码
javascriptfor (const tc of require('./login-cases.json').testCases) { it(`${tc.id} ${tc.description}`, async () => { await loginPage.login(tc.username, tc.password); expect(await loginPage.resultText()).toBe(tc.expected); }); }