20191011-构建我们公司自己的自动化接口测试框架-Util的htmlreport模块
生成htmlreport的模块是我在网上随意找的一个版本,主要生成的report包括接口名称,接口url,请求数据,响应数据,断言词,断言结果等
具体的htmlreport代码如下:
# -*- encoding:utf-8 -*- from bottle import template def report_html(data,html_name):
template_demo = """
<!-- CSS goes in the document HEAD or added to your external stylesheet -->
<style type="text/css">
table.hovertable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
}
table.hovertable th {
background-color:#ff6347;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
table.hovertable tr {
background-color:#d4e3e5;
}
table.hovertable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
}
</style> <!-- Table goes in the document BODY --> <head> <meta http-equiv="content-type" content="txt/html; charset=utf-8" /> </head> <table class="hovertable">
<tr>
<th>接口名称</th><th>接口 URL</th><th>请求数据</th><th>接口响应数据</th><th>接口调用耗时(单位:ms)</th><th>断言表</th><th>测试结果</th>
</tr>
% for name,url,request_data,response_data,test_time,assert_word,result in items:
<tr onmouseover="this.style.backgroundColor='#ffff66';" onmouseout="this.style.backgroundColor='#d4e3e5';"> <td>{{name}}</td><td>{{url}}</td><td>{{request_data}}</td><td>{{response_data}}</td><td>{{test_time}}</td><td>{{assert_word}}</td><td>
% if result == '失败':
<font color=red>
% end
{{result}}</td>
</tr>
% end
</table>
"""
html = template(template_demo, items=data)
with open(html_name+".html", 'wb') as f:
f.write(html.encode('utf-8')) if __name__ == '__main__':
data = [("API",'http://39.106.41.11:8080/register/', '{"username": "tiansl2831", "password": "wulaoshi123451", "email": "wulaoshi@qq.com"}', '{"username": "tiansl2831", "code": "01"}',"5ms","", '成功')]
html_name = '接口测试报告'
report_html(data,html_name)
20191011-构建我们公司自己的自动化接口测试框架-Util的htmlreport模块的更多相关文章
- 20191011-构建我们公司自己的自动化接口测试框架-Util的ClearData模块
cleardata模块主要是用于在每次测试之前清除历史执行痕迹,主要代码如下: from Util.ParseExcel import * from ProVar.ProjConfigVar impo ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的AssertResult模块
AssertResult主要就是进行结果断言的了,因为断言结果分2种情况,一种是断言词,一种是断言sheet,如果涉及断言sheet,则需要操作excel到对应的断言表断言所有的字段并且书写断言结果主 ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块
TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理转换数据格式函数: data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的getTestSuite模块
getTestSuite主要是用于在testData里面获取测试集以及对应的测试数据,包括2个主要的方法,一个是获取测试集,一个是获取测试集里面要执行的测试用例 获取测试集方法: from Util. ...
- 20191011-构建我们公司自己的自动化接口测试框架-Util的读取excel常用方法模块
包括获取excel的sheet名字,设定excel的sheet,读excel,写excel等常规操作. from openpyxl import Workbook from openpyxl impo ...
- 20191011-构建我们公司自己的自动化接口测试框架-Action的request方法封装
Action模块 封装接口request方法,根据传入的参数调用不同的请求方法,因为项目特色,我们公司的接口都是get和post方法,所以仅仅封装了get和post方法: import request ...
- 20191011-构建我们公司自己的自动化接口测试框架-testrun最重要的模块
testrun模块呢就是最终自动化测试入口,调用前面封装的各个模块主要流程是: 1. 获取测试集种待执行的测试用例 2. 处理测试用例获取的数据,包括转换数据格式,处理数据的中的关联等 3. 处理完数 ...
- 20191011-构建我们公司自己的自动化接口测试框架-ProVar模块
ProVar模块主要定义测试数据所在目录,以及定义变量和测试数据excel里面的column对应这样后续在进行excel操作的时候直接使用变量即可进行操作,后期excel的column有增删的时候,修 ...
- 20191011-构建我们公司自己的自动化接口测试框架-Config配置
Config模块主要是为了存放的一些其他配置等的一个目录,当前目录存放日志配置文件 ################################################ [loggers] ...
随机推荐
- CF2B The least round way(贪心+动规)
题目 CF2B The least round way 做法 后面\(0\)的个数,\(2\)和\(5\)是\(10\)分解质因数 则把方格中的每个数分解成\(2\)和\(5\),对\(2\)和\(5 ...
- 在本机上用IO流实现复制粘贴功能
/** * 复制文件夹 * @param sourcePath * @param targetPath * @throws IOException */ public void copyFolder( ...
- 分布式锁 ----zookeeper实践 (排它锁)
排它锁概念: Exclusive Locks,被称为X锁,写锁,独占锁.如果事物T1对数据对象O1加上了排它锁,那么在整个加锁期间,只允许事务T1对O1进行读写操作,其他事务必须等到T1释放锁后才能进 ...
- Highcharts 的使用(各种统计图)(难点:绑定数据)
1.我们先打开 官方下载的 文件包 打开 index.htm 页面 里面有非常多的 统计图. 我是用的是3D charts 中的 3D column 也就是 3D的柱状图. 选择一个 后 会有非常棒的 ...
- 【原】Python基础-函数
#不定长参数,这里prams是一个元组集合def print_params(*prams): for e in prams: print(e) print(prams) #输出('xxx', (1, ...
- 手写实现RPC框架(不带注册中心和带注册中心两种)
实现自己的RPC框架如果不需要自定义协议的话那就要基于Socket+序列化. ProcessorHandler:主要是用来处理客户端的请求. package dgb.nospring.myrpc; i ...
- Go 语言入门(二)方法和接口
写在前面 在学习 Go 语言之前,我自己是有一定的 Java 和 C++ 基础的,这篇文章主要是基于A tour of Go编写的,主要是希望记录一下自己的学习历程,加深自己的理解 Go 语言入门(二 ...
- 制作A4纸打印的网页像素大小设置(转)
公司内做系统,要用A4纸打印东西,A4纸标准时mm,换算成像素不知道.网上找找,找到一篇文章,转一下,备用. A4纸的尺寸是210mm*297mm,也就是21.0cm*29.7cm,而1英寸=2.54 ...
- Tosca database help link
https://support.tricentis.com/community/manuals_detail.do?lang=en&version=12.0.0&url=tosca_b ...
- keras Model 3 共享的层
1 入门 2 多个输入和输出 3 共享层 考虑这样的一个问题:我们要判断连个tweet是否来源于同一个人. 首先我们对两个tweet进行处理,然后将处理的结构拼接在一起,之后跟一个逻辑回归,输出这两条 ...