前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口自动化测试平台-HttpRunnerManager-功能模块

接口自动化测试平台-HttpRunnerManager-功能模块

作者头像
wangmcn
发布2022-07-25 14:08:44
8740
发布2022-07-25 14:08:44
举报
文章被收录于专栏:AllTests软件测试

功能模块

目录

  • 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、用例列表
  • 4、配置管理
    • 4.1、新增配置
      • 4.1.1、messages
      • 4.1.2、variables/parameters/hooks
      • 4.1.3、request
    • 4.2、配置列表
  • 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、任务监控

可查看任务列表和状态信息。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AllTests软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 1.1、新增项目
  • 1.2、项目列表
  • 1.3、debugtalk.py
  • 2.1、新增模块
  • 2.2、模块列表
  • 3.1、新增用例
    • 3.1.1、messages
      • 3.1.2、request
        • 3.1.3、extract/validate
          • 3.1.4、variables/parameters/hooks
          • 3.2、用例列表
          • 4.1、新增配置
            • 4.1.1、messages
              • 4.1.2、variables/parameters/hooks
                • 4.1.3、request
                • 4.2、配置列表
                • 5.1、测试套件
                • 5.2、定时任务
                • 6.1、查看报告
                • 7.1、运行环境
                • 7.2、任务监控
                相关产品与服务
                项目管理
                CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档