功能模块
目录
- 1、项目管理
- 1.1、新增项目
- 1.2、项目列表
- 1.3、debugtalk.py
- 2、模块管理
- 2.1、新增模块
- 2.2、模块列表
- 3、用例管理
- 3.1、新增用例
- 3.1.1、messages
- 3.1.2、request
- 3.1.3、extract/validate
- 3.1.4、variables/parameters/hooks
- 3.2、用例列表
- 3.1、新增用例
- 4、配置管理
- 4.1、新增配置
- 4.1.1、messages
- 4.1.2、variables/parameters/hooks
- 4.1.3、request
- 4.2、配置列表
- 4.1、新增配置
- 5、测试计划
- 5.1、测试套件
- 5.2、定时任务
- 6、报告管理
- 6.1、查看报告
- 7、系统设置
- 7.1、运行环境
- 7.2、任务监控
使用已注册用户test进行登录,登陆后默认跳转到首页。左侧为菜单栏,上排有快捷操作按钮,中间显示项目、模块、用例、套件的数量统计和执行测试结果趋势图。
如图所示:数量统计(项目、模块、用例、测试套件)和执行测试结果趋势图(统计:异步执行、定时执行)显示效果。
1、项目管理
1.1、新增项目
首先应该先添加一个项目,用例都是以项目为维度进行管理的,添加成功后会自动重定向到项目列表里。如图所示:填写项目信息后点击提交即可。
1.2、项目列表
支持对项目进行二次编辑,也可以进行筛选等操作。
注意:删除操作会强制删除该项目下所有数据,请谨慎操作。
可以选择单个或者批量运行。选择运行环境,执行方式支持同步或者异步,异步支持自定义报告名称,默认时间戳命名。
同步:是指在当前页等待用例执行完成后,当前页会自动跳到执行报告页面。
异步:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“报告管理-查看报告”下,用户需自己查看。
1.3、debugtalk.py
自定义辅助函数,可以写一些Python脚本。每个项目都有自己的debugtalk.py。
如图所示:打开debugtalk.py,进行脚本编写。
调用函数的方法是 ${函数名(参数1, 参数2, …)}
例如有个get_userId()函数,调用此函数方法是 ${get_userId()}
例如有个get_userId(id)函数,参数id为变量,get_id可以获取id值,调用此函数方法是 {get_userId(
2、模块管理
2.1、新增模块
项目创建完成后,就可以新增模块了,之后用例或者配置都会归属模块下,必须指定模块所属的项目。如图所示:填写模块信息后点击提交即可。
2.2、模块列表
支持对模块进行二次编辑,也可以进行筛选等操作。
注意:删除操作会强制删除该模块下所有数据,请谨慎操作。
可以选择单个或者批量运行。选择运行环境,执行方式支持同步或者异步,异步支持自定义报告名称,默认时间戳命名。
同步:是指在当前页等待用例执行完成后,当前页会自动跳到执行报告页面。
异步:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“报告管理-查看报告”下,用户需自己查看。
3、用例管理
3.1、新增用例
遵循HttpRunner脚本规范,可以跨项目、跨模块引用用例,支持拖拽排序,动态添加和删减,极大地方便了场景组织。
注意:用例必须属于某一模块,而模块必须属于某一项目。
3.1.1、messages
选择所属项目与可选模块,可选用例可添加依赖的用例,可添加可选配置,用例执行顺序支持拖拽排序。
3.1.2、request
填写请求信息。
1、URL:请求地址。
2、Method:请求方法,支持POST、GET、PUT、DELETE。
3、Type:请求参数(对于POST方法,data是指消息体是键值对表单,json是指消息体是json串;params是指用GET方法时带在URL后的参数)。
4、headers:请求头。
使用”变量名”的方式来引用其变量值。例如 username
使用”{函数名(参数1, 参数2, …)} ”的方式来调用函数。例如 {get_userId()}
3.1.3、extract/validate
抽取接口返回值/接口断言。
1、extract:完成请求后,从返回内容中抽取数据存入变量,在后面的请求中,可以通过引用该变量来获取该值。假设返回json,那么就是content.key或者content.key.0.key形式(0是索引)。
抽取复杂返回值,例如:
抽取content的dataList列表的首个元素的name字段是以字符串’.ABC’结尾的。
content.dataList.0.name/endswith/(string)/’.ABC’
2、validate:接口断言。可以引用extract里的,也可以直接抽取。
使用”变量名”的方式来引用其变量值。例如 username
使用”{函数名(参数1, 参数2, …)} ”的方式来调用函数。例如 {get_userId()}
3.1.4、variables/parameters/hooks
局部变量/参数列表/hook机制。
1、variables:局部变量,只在当前用例有效。可以给request、validate,通过$key引用即可。
2、parameters:参数列表,只在当前用例有效。参数列表中放入该变量的多种可能的值,则这一个用例会自动使用这多个值分别执行一次。注意以下几点:
(1)对于同时存在多个参数列表,则需要对其排列组合的每一种情况都执行一次。
例如:
xx : [xxvalue1, xxvalue2]
yy : [yyvalue1, yyvalue2, yyvalue3]
会按以下六种情况各执行一次用例:
xx=xxvalue1, yy=yyvalue1
xx=xxvalue1, yy=yyvalue2
xx=xxvalue1, yy=yyvalue3
xx=xxvalue2, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2
xx=xxvalue2, yy=yyvalue3
(2)对于参数间有对应关系的,可以按xx-yy: [xxvalue1-yyvaule1, xxvalue2-yyvalue2]的方式定义,只会执行两种情况,这样就避免了无效的排列组合:
xx=xxvalue1, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2
在使用多个账户/密码进行测试时,常用这种方式。
3、hooks:hook机制。
(1)setup_hooks:在HTTP请求发送前执行hook机制,主要用于准备工作;也可以实现对请求的request内容进行预处理。
(2)teardown_hooks:在HTTP请求发送后执行hook机制,主要用于测试后的清理工作;也可以实现对响应的response进行修改,例如进行加解密等处理。
使用”变量名”的方式来引用其变量值。例如 username
使用”{函数名(参数1, 参数2, …)} ”的方式来调用函数。例如 {get_userId()}
3.2、用例列表
支持对用例进行二次编辑,也可以进行筛选、复制、删除等操作。
运行用例可以选择单个或批量运行,选择运行环境,只能进行同步运行。
同步:是指在当前页等待用例执行完成后,当前页会自动跳到执行报告页面。
异步:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“报告管理-查看报告”下,用户需自己查看。
4、配置管理
4.1、新增配置
可定义全局变量,全局hook,公共请求参数和公共headers,一般可用于测试环境,验证环境切换配置。
4.1.1、messages
填写配置名称、所属项目、所属模块、编写人员。
4.1.2、variables/parameters/hooks
全部变量/参数列表/hook机制。
1、variables:全部变量。可以给request、validate,通过$key引用即可。
2、parameters:全局参数列表。参数列表中放入该变量的多种可能的值,则这一个用例会自动使用这多个值分别执行一次。注意以下几点:
(1)对于同时存在多个参数列表,则需要对其排列组合的每一种情况都执行一次。
例如:
xx : [xxvalue1, xxvalue2]
yy : [yyvalue1, yyvalue2, yyvalue3]
会按以下六种情况各执行一次用例:
xx=xxvalue1, yy=yyvalue1
xx=xxvalue1, yy=yyvalue2
xx=xxvalue1, yy=yyvalue3
xx=xxvalue2, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2
xx=xxvalue2, yy=yyvalue3
(2)对于参数间有对应关系的,可以按xx-yy: [xxvalue1-yyvaule1, xxvalue2-yyvalue2]的方式定义,只会执行两种情况,这样就避免了无效的排列组合:
xx=xxvalue1, yy=yyvalue1
xx=xxvalue2, yy=yyvalue2
在使用多个账户/密码进行测试时,常用这种方式。
3、hooks:hook机制。
(1)setup_hooks:在整个用例开始执行前触发hook函数,主要用于准备工作。
(2)teardown_hooks:在整个用例结束执行后触发hook函数,主要用于测试后的清理工作。
使用”变量名”的方式来引用其变量值。例如 username
使用”{函数名(参数1, 参数2, …)} ”的方式来调用函数。例如 {get_userId()}
4.1.3、request
填写公共请求信息。
1、Type:公共请求参数(对于POST方法,data是指消息体是键值对表单,json是指消息体是json串;params是指用GET方法时带在URL后的参数)。
2、headers:公共请求头。
使用”变量名”的方式来引用其变量值。例如 username
使用”{函数名(参数1, 参数2, …)} ”的方式来调用函数。例如 {get_userId()}
4.2、配置列表
支持对配置进行二次编辑,也可以进行筛选、复制、删除等操作。
5、测试计划
5.1、测试套件
支持对测试套件进行二次编辑,也可以进行筛选、复制、删除等操作。
点击Add Suite,进行新增测试套件操作,选择要执行的用例,对已选中的用例可进行拖拽操作,来设置执行顺序,最后保存即可。
可以选择单个或者批量运行。选择运行环境,执行方式支持同步或者异步,异步支持自定义报告名称,默认时间戳命名。
同步:是指在当前页等待用例执行完成后,当前页会自动跳到执行报告页面。
异步:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“报告管理-查看报告”下,用户需自己查看。
5.2、定时任务
对已创建好的定时任务可以进行开启、关闭、删除等操作,但不支持二次更改。
点击新增任务,创建一个定时任务,支持添加项目级别定时任务或者模块集合的定时任务,遵循crontab表达式,模块列表为空默认为整个项目,定时任务支持选择环境和配置,可设置将报告发送到指定邮箱里。
crontab示例:
10 * * * * 表示每X小时10分执行一次。
*/10 * * * * 表示每10分钟执行一次。
如图所示:邮箱收到定时任务执行后发送的测试报告。
6、报告管理
6.1、查看报告
可查看异步运行的报告和定时任务运行的报告,均会存储在数据库里,报告可以在线点击查看,也可进行下载、删除操作。
打开报告显示效果(基于ExtentReports实现)。
7、系统设置
7.1、运行环境
支持对运行环境进行二次编辑,也可以进行删除操作。
点击添加环境,进行新增环境,输入环境名称、请求地址、描述,点击提交即可。
7.2、任务监控
可查看任务列表和状态信息。