目录
a.参数化:根据传入的数据,对测试用例进行迭代调用
b.数据驱动:基于数据完成的流程调度,通常数据源自于外部数据文件
参数化是数据驱动的基础和特例,
参数化的@pytest.mark.parametrize的方法使用,可参照文章:11、Pytest之@pytest.mark.parametrize使用详解_totorobig的博客-CSDN博客_pytest.mark.parametrize
下面展示参数化和数据确定两种不同方法实战模拟登录页面-手机号和密码的输入的参数化(个人提升的appium_temp文件中)使用:
a.参数化(传递数组)
b.数据驱动:
1.参数化数据读取来自外部文件:使用YAML、JSON读取
2.测试步骤读取来自外部文件:定制执行引擎
3.断言步骤读取来自外部文件:定制执行引擎
4.整个用例读取自外部文件:动态创建用例
b1参数化数据驱动
在a.参数化的代码上进行优化。首先,将数据存储到一个文件中,文件可选择YAML、JSON等,我这边使用的是YAML文件
文件命名后缀要为.yaml
yaml文件的编写规范可参考:SpringCloud入门之YAML格式文件规范学习 - JackYang - 博客园
上例数据为数组,可写成以下格式
接着将代码更改如下:
b1测试步骤数据驱动
在a.参数化的代码上进行优化。首先,还是将测试步骤的数据存储到一个yaml文件中,如下图:
接着对原来的代码进行改造,如下:
踩坑:我这边使用的是oppo手机,如果遇到启动session失败的情况,假设你是使用oppo手机,那需要开启两项权限,可参照见:OPPO 无法连接 appium踩坑记录_m0_57981597的博客-CSDN博客