当前位置:网站首页>接口自动化测试平台FasterRunner系列(二)- 功能模块
接口自动化测试平台FasterRunner系列(二)- 功能模块
2022-07-25 18:44:00 【wangmcn】
接口自动化测试平台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实现)。
原版背景色默认是白色,已自定义修改为默认是黑色。
边栏推荐
- Interview shock: why does TCP need three handshakes?
- 2022 Robocom 省赛题解
- 《21天精通TypeScript-4》-类型推断与语义检查
- 【翻译】Logstash、Fluentd、Fluent Bit,还是Vector?如何选择合适的开源日志收集器...
- Esp32 S3 vscode+idf setup
- 信达证券是国企吗?在信达证券开户资金安全吗?
- Circulaindicator component, which makes the indicator style more diversified
- 阿里云技术专家邓青琳:云上跨可用区容灾和异地多活最佳实践
- R language uses GT package and gtextras package to display tabular data beautifully: GT_ bar_ Plot function and GT_ plt_ bar_ PCT function visual percentage bar graph, percentage bar graph of original
- hough变换理解[通俗易懂]
猜你喜欢

Application of current probe in ECU and electrical system current measurement

黄鹤楼超震撼视角,这样的VR全景你绝对没见过!

华为年内二度招聘“天才少年”;540万Twitter账号信息泄露,卖价3万美元;谷歌解雇了相信AI有意识的工程师|极客头条

3DE reply

If you want to do a good job in software testing, you can first understand ast, SCA and penetration testing

VC/PE正跑向青岛

【开源工程】STM32C8T6+ADC信号采集+OLED波形显示

Care for front-line epidemic prevention workers, Haocheng JIAYE and Gaomidian sub district office jointly build the great wall of public welfare

n-queens problem

Software testing -- common testing tools
随机推荐
CS615 System Administration, Week 02, Segment 5 - Partitions
8 年产品经验,我总结了这些持续高效研发实践经验 · 研发篇
A brief history from object detection to image segmentation
Northeast people know sexiness best
Interview shock: why does TCP need three handshakes?
Yarn 安装与使用教程[通俗易懂]
Esp32 S3 vscode+idf setup
Yes, UDP protocol can also be used to request DNS server
项目:串口接收—ram存储—TFT显示(完整设计)
[applet development] page navigation details
「跨链互连智能合约」解读
VIM basic operation commands
[noi2015] package manager
Dynamic memory management
文件常用操作
华为年内二度招聘“天才少年”;540万Twitter账号信息泄露,卖价3万美元;谷歌解雇了相信AI有意识的工程师|极客头条
黄鹤楼超震撼视角,这样的VR全景你绝对没见过!
银行理财子公司蓄力布局A股;现金管理类理财产品整改加速
GDB help
Experiment 2 goods purchase and sale management system