接口自动化测试平台FasterRunner系列(二)
功能模块
目录
- 1、首页
- 2、项目概况
- 3、API模板
- 3.1、分组
- 3.2、接口
- 3.2.1、Header
- 3.2.2、Request
- 3.2.3、Extract
- 3.2.4、Validate
- 3.2.5、Variables
- 3.2.6、Hooks
- 3.3、运行
- 3.3.1、单接口运行
- 3.3.2、指定组运行
- 4、测试用例
- 4.1、分组
- 4.2、用例集
- 4.3、运行
- 4.3.1、用例集运行
- 4.3.2、指定组运行
- 5、配置管理
- 5.1、Header
- 5.2、Request
- 5.3、Variables
- 5.4、Hooks
- 5.5、Parameters
- 6、全局变量
- 7、域名管理
- 8、驱动代码
- 9、定时任务
- 10、历史报告
1、首页
使用已注册用户admin进行登录,登录后默认跳转到首页。
左侧为菜单栏,右侧显示项目名称、负责人、项目描述、更新时间。可进行添加、查看、编辑、删除项目。
注:删除操作会强制删除该项目下所有数据,请谨慎操作。
点击指定项目的详情,会跳转到项目概况页。
2、项目概况
项目概况页详细列出当前项目的一些信息。
如图所示:已有4个接口、1个用例集、1套配置、1对变量、1套环境、1项任务、51个报告。
3、API模板
3.1、分组
先进行新建分组(其实就是模块),可对创建后的分组进行删除、重命名等操作。分组下还可以创建子分组。在指定的组上创建接口,之后对接口信息进行维护。
注:删除操作会强制删除该分组下所有数据,请谨慎操作。
如图所示:创建组module 1,module 1上已经创建4个接口。
3.2、接口
点击添加接口,输入接口名称、请求方法(支持POST、GET、PUT、DELETE等)、请求地址等信息,执行时,可以设置迭代次数,默认为1次。
对于已创建完成的接口,可进行修改、命名、运行、删除操作。
3.2.1、Header
请求头
3.2.2、Request
请求参数(对于POST方法,表单是指消息体是键值对表单,json是指消息体是json串;params是指用GET方法时带在URL后的参数)。
使用 变量名 的方式来引用其变量值。例如 username
使用 {函数名(参数1, 参数2, …)} 的方式来调用函数。例如 {get_userId()}
3.2.3、Extract
抽取接口返回值
完成请求后,从返回内容中抽取数据存入变量,在后面的请求中,可以通过引用该变量来获取该值。
假设返回json,那么就是content.key或者content.key.0.key形式(0是索引)。
抽取复杂返回值,例如:抽取content的dataList列表的首个元素的name字段是以字符串’.ABC’结尾的。content.dataList.0.name/endswith/(string)/’.ABC’
3.2.4、Validate
接口断言
可以引用Extract里的,也可以直接抽取。
使用 变量名 的方式来引用其变量值。例如 username
使用 {函数名(参数1, 参数2, …)} 的方式来调用函数。例如 {get_userId()}
3.2.5、Variables
局部变量
只在当前用例有效。可以给Request、Validate,通过 $变量名 方式引用即可。
3.2.6、Hooks
hook机制
(1)测试之前执行的方法:在HTTP请求发送前执行hook机制,主要用于准备工作;也可以实现对请求的Request内容进行预处理。
(2)测试之后执行的方法:在HTTP请求发送后执行hook机制,主要用于测试后的清理工作;也可以实现对响应的Response进行修改,例如进行加解密等处理。
使用 变量名 的方式来引用其变量值。例如 username
使用 {函数名(参数1, 参数2, …)} 的方式来调用函数。例如 {get_userId()}
3.3、运行
3.3.1、单接口运行
1、选择环境、选择配置、点击运行,进行指定接口的执行。
2、执行完成后,当前页面显示报告。
3、在“历史报告”下也会有此报告记录。
3.3.2、指定组运行
1、选择环境、选择配置、点击运行,之后选择同步执行或异步执行方式(异步支持自定义报告名称,默认时间戳命名),选择要运行的组,点击确定即可。
同步执行:是指在当前页等待用例执行完成后,当前页会自动弹出执行报告页面,在“历史报告”下也会有此报告记录。
异步执行:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“历史报告”下,用户需自己查看。
2、报告效果:
(1)同步执行
报告类型为调试
(2)异步执行
报告类型为异步
第一个自定义报告名,第二个默认时间戳命名。
4、测试用例
4.1、分组
先进行创建分组(其实就是模块),可对创建后的分组进行删除、重命名等操作。
注:删除操作会强制删除该模块下所有数据,请谨慎操作。
如图所示:创建组TestSuite
4.2、用例集
1、点击添加用例,进行新增测试用例集操作,选择要执行的用例与配置,对已选中的用例可进行拖拽操作,可设置执行顺序(主要针对接口流程测试),最后保存即可。
2、可对新增的用例集进行修改、运行、命名、删除操作。
4.3、运行
4.3.1、用例集运行
1、点击运行,进行指定用例集的执行。
2、执行完成后,当前页面显示报告。同样在“历史报告”下也会有此报告记录。
4.3.2、指定组运行
运行指定的组,执行方式也是分为同步执行或异步执行(异步支持自定义报告名称,默认时间戳命名),选择要运行的组,点击确定即可。
同步执行:是指在当前页等待用例执行完成后,当前页会自动弹出执行报告页面,在“历史报告”下也会有此报告记录。
异步执行:是指用例在后台执行,执行完报告不会主动显示到页面,只会保存在“历史报告”下,用户需自己查看。
报告效果和在API模板按指定组运行方式一样。
5、配置管理
1、新增配置,可定义全局Hooks,公共Request参数和公共Header,一般可用于验证环境切换配置。
2、对已存在的配置,可进行修改、命名、删除操作。
5.1、Header
请求头
5.2、Request
请求参数(对于POST方法,表单是指消息体是键值对表单,json是指消息体是json串;params是指用GET方法时带在URL后的参数)。
使用 变量名 的方式来引用其变量值。例如 username
使用 {函数名(参数1, 参数2, …)} 的方式来调用函数。例如 {get_userId()}
5.3、Variables
局部变量
只在当前用例集有效。可以给Request、Validate,通过 $变量名 方式引用即可。
5.4、Hooks
hook机制
(1)测试之前执行的方法:在HTTP请求发送前执行hook机制,主要用于准备工作;也可以实现对请求的Request内容进行预处理。
(2)测试之后执行的方法:在HTTP请求发送后执行hook机制,主要用于测试后的清理工作;也可以实现对响应的Response进行修改,例如进行加解密等处理。
使用 变量名 的方式来引用其变量值。例如 username
使用 {函数名(参数1, 参数2, …)} 的方式来调用函数。例如 {get_userId()}
5.5、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
在使用多个账户/密码进行测试时,常用这种方式。
6、全局变量
新增变量,定义为全局变量,方便用例或用例集引用。
并可对变量进行修改与删除操作。
7、域名管理
新增环境,定义域名。
并可对域名进行修改与删除操作。
8、驱动代码
自定义辅助函数,可以写一些Python脚本。
用于当前项目调用,还可以进行在线调试运行,运行日志信息可在调试控制台上打印出来。
调用函数的方法是 ${函数名(参数1, 参数2, …)}
如有个get_userId()函数,调用此函数方法是 ${get_userId()}
如有个get_userId(id)函数,参数id为变量,get_id可以获取id值,调用此函数方法是 {get_userId(
9、定时任务
点击添加任务,创建一个定时任务,添加用例集的定时任务,遵循crontab表达式,可设置将报告发送到指定邮箱里。
crontab示例:
10 * * * * 表示每X小时10分执行一次。
*/10 * * * * 表示每10分钟执行一次。
1、添加任务,输入配置信息。
2、选择指定的用例集,点击保存。
3、定时任务添加完成后。
4、按照定时执行规则,将测试报告发送到邮箱里。
5、在“历史报告”下,可以看到执行后的报告,报告类型为定时。
10、历史报告
可查看同步执行、异步执行和定时任务执行的报告,均会存储在数据库里,报告可以在线点击查看,也可进行删除、搜索操作。
打开报告显示效果(基于ExtentReports实现)。
原版背景色默认是白色,已自定义修改为默认是黑色。