尝试用python/requests偷懒(2)-导出报表页面表格

背景:

报表功能一般带有导出excel表格功能,测试用例设计会有测试点:对比报表网页数据与excel导出数据。

需求:

将页面报表数据抓取存到excel中,便于测试点(对比报表页面与导出excel数据)的校验。

实现:

 

import requests
import getvalues

# url 地址
turl = "http://11.23.45.6:31002/atmbootSys/profitQuery/queryProfitData"
# 登录态信息
theaders = {
        'Cookie': 'youcannotsee123456',
        'CSRF-TOKEN': '123456'
    }
# 报表参数
tparams ={
    "dealMonth": "202201",
    "branchCode": "PB110100"
}
# 访问报表
r = requests.post(turl, headers=theaders, json=tparams)
# 打印http状态码
print(r.status_code)
# 打印分隔符
print('-----------------************************')
# 将响应结果转换为json格式便于操作
resraw = r.json()
# 获取响应结果中的字段作为列值
co1value = getvalues.get_target_value('measFlag',resraw,[])
co2value = getvalues.get_target_value('PB110100',resraw,[])
# 获取响应结果中的字段作为列头
co1 = resraw['data']['header'][0]['label']
co2 = resraw['data']['header'][1]['label']

# print(type(co1value))
# print(co2value)
# print(co1)
# print(co2)
# 将两个列值组合成一个列表
r = [list(t) for t in zip(co1value, co2value)]

# 将列值、列头写入名字为‘data2.xls’的excel中
output = open('data2.xls', 'w', encoding='gbk')
output.write(co1+'\t'+co2+'\n')
for i in range(len(r)):
    for j in range(len(r[i])):
        output.write(str(r[i][j]))
        output.write('\t')
    output.write('\n')
output.close()

data2.xls展示:

 

posted @ 2022-07-22 10:00  hello_mercy  阅读(216)  评论(0编辑  收藏  举报