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()读取文件

输出之后如下图,看到是个字典类型

 

 在测试中调用yaml文件中的数据(字典类型 根据键获取值)

注意:

js java go 语言的: "null" "true" "false"

相当于python中的:"None" "True" "False"

有异常时 在python中CTRL+R 替换一下。

 

2.3参数化的数据放在json文件中:

 

 因为参数化的格式需要是列表类型,json文件的格式必须是字典类型,所以就可以在字典中嵌套列表↑

 

posted @ 2022-04-12 17:32  jia---  阅读(169)  评论(0)    收藏  举报