适用场景
测试过程中,经常需要比较相同接口在不同环境下的返回体进行比较,如线上环境和UAT比较。
提示:以下是本篇文章正文内容,下面案例可供参考
一、difflib是什么?
python difflib模块实现两个文件差异对比,并输出html格式。
二、使用步骤
1.代码结构
结构如下:
该处使用的aa.txt,bb.txt为自定义返回体
2.主文件testdiff.py
代码如下(示例):
import difflib
import time
data1='aa.txt'
data2='bb.txt'
with open(data1,'r')as passwd1,open(data2,'r')as passwd2:
f1 = passwd1.read().splitlines(keepends=True)
print("f1------",f1)
f2 = passwd2.read().splitlines(keepends=True)
print("f2------", f2)
diff = difflib.HtmlDiff()
result = diff.make_file(f1,f2)
now = time.strftime("%Y-%m-%d_%H_%M_%S")
with open(now+'diffreport.html','w')as f: #当前目录生成比对报告
f.write(result)
该处使用的aa.txt,bb.txt为自定义返回体
3.测试数据
aa.txt:
{
"hotelIds":[
6729722
],
"stayRange":{
"checkIn":"2019-12-27",
"checkOut":"2019-12-28"
},
"occupancy":{
"numberOfAdult":2,
"numberOfChildren":0,
"childrenAges":[
1
]
}
}
bb.txt:
{
"hotelIds":[
6729722
],
"stayRange":{
"checkIn":"2019-12-27",
"checkOut":"2019-12-28"
},
"occupancy":{
"numberOfAdult":2,
"numberOfChildren":0,
"childrenAges":[
0
]
}
}
该处使用的aa.txt,bb.txt为自定义返回体。
三、实现效果?
执行后,生成的Html文件打开截图效果。