接口自动化测试平台FasterRunner系列(二)- 功能模块

2022-07-25 17:43:47 浏览数 (1)

接口自动化测试平台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实现)。

原版背景色默认是白色,已自定义修改为默认是黑色。

0 人点赞