本篇文章主要总结在使用httprunner框架做接口自动化测试过程中遇到的问题
官方的问题总结:https://github.com/httprunner/httprunner/issues
1.在参数化过程中读取CSV文件,不能读取出整型来。
读取下方文件数据,全部是字符串格式
原因:csv 格式本身是不支持配置数据类型的。它本身就不具备这个能力。
解决:暂定的解决方式是暂时不用它自带${P()}函数进行参数化,写一个自定义函数,同样去读取CSV文件,但是读取出来之后将需要的int类型数据进行转换格式,将读取到的字符串转换成int类型;
def parameters_csv(csv_path): data_list = [] with open(csv_path,'r',encoding='utf8')as fp: for i in csv.DictReader(fp): # 通过DictReader 方式读取CSV文件,这是参数化规定的格式 i['status'] = int(i['status']) # 转换数据类型,在这个接口中我需要的只是status是int类型 data_list.append(i) # 最后需要将数据加入列表中返回 return data_list
2.生成的测试报告中断言区域预期结果不显示数据。
解决:
修改测试报告模板,模板位置:httprunner/statictemplate.html
将304行位置替换成:<td>{{validator.expect_value | e}}</td>
在次运行结果改变