UI自动化单元测试框架(2) -固件分离、数据驱动
一、固件分离:
在工作中,如果页面的地址改变了,我们就需要改变所有的测试地址,非常麻烦,所以我们可以把测试固件分离出来,在测试中继承测试固件就好了,如果地址改变了,我们只需要改变我们分离出来的测试固件。
(测试框架下的init.py模块中是我们分离出来的固件,也就是类Init,它继承unittest.TestCase)
在测试中应用: 先导入分离的测试固件的这个类,在测试类中继承测试固件这个类,就不用再写初始化和清理了。
二、数据驱动:
在自动化测试中,把测试中使用到的数据分离出来。JSON,YAML。
2.1 测试数据放在JSON文件:
新建文件“xxxxx.json”
放到JSON文件中,花括号开头(字典类型)
- JSON中对象的属性名必须是双引号,属性值如果是字符串也必须是双引号,
- JSON中只要涉及到字符串 就必须使用双引号
在测试中调用json文件中的数据(字典类型 根据键获取值)
2.2 测试数据放在YAML文件:
新建文件“xxxx.yaml”
(注意!yaml文件中的冒号后面必须要有一个空格,如果没有空格,颜色都是不对的)
yaml.safe_load()读取文件
js java go 语言的: "null" "true" "false"
相当于python中的:"None" "True" "False"
有异常时 在python中CTRL+R 替换一下。
2.3参数化的数据放在json文件中:
因为参数化的格式需要是列表类型,json文件的格式必须是字典类型,所以就可以在字典中嵌套列表↑