python locust post 参数拼接md5_HttpRunner接口自动化测试框架

HttpRunner

简介

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

核心特性继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求

测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性

测试用例支持分层机制,充分实现测试用例的复用

测试用例支持参数化和数据驱动机制

使用 skip 机制实现对测试用例的分组执行控制

测试请求支持完善的 hook 机制

支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑

基于 HAR 实现接口录制和用例生成功能(har2case)

结合 Locust 框架,无需额外的工作即可实现分布式性能测试

执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合

测试结果统计报告简洁清晰,附带详尽统计信息和日志记录

具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager)

下载安装

使用pip命令进行安装

1pip install httprunner

安装后校验是否安装成功,可以使用如下命令进行校验

1

2

3

4

5hrun -V

1.4.2

har2case -V

0.1.8

若版本号正常显示,则说明安装正常。

入门使用

测试场景

用例设计

HttpRunner 的测试用例支持两种文件格式:YAML 和 JSON。这里以YAML为例。

test_httpbin.yml

1

2

3

4

5

6

7

8

9

10

11

12- config:

name: httpbin api test

request:

base_url: http://www.httpbin.org

- test:

name: get request

request:

url: /get

method: GET

validate:

- eq: [status_code,200]

config:作为整个测试用例集的全局配置项

test:对应单个测试用例

name 这个test的名字

request 这个test具体发送http请求的各种信息, 如下:

url 请求的路径 (若config中有定义base_url, 则完整路径是 base_url + url )

method 请求方法 POST, GET等等

validate 完成请求后, 所要进行的验证内容. 所有验证内容均通过该test才算通过,否则失败.

相关资料

运行测试

使用hrun执行测试,如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

13C:\Users\Shuqing>hrun D:\api_test\HttpRunner_test\test_httpbin.yml

get request

INFO GET /get

INFO status_code: 200, response_time(ms): 1967.35 ms, response_length: 273 bytes

INFO start to validate.

.

----------------------------------------------------------------------

Ran 1 test in 1.976s

OK

INFO Start to render Html report ...

INFO Generated Html report: C:\Users\Shuqing\reports\1533092144.html

查看测试报告

打开html报告如下:

HttpRunnerManager

简介

HttpRunnerManager是基于HttpRunner的接口自动化测试平台,该工具是对 HttpRunner的包装和Web图形化, 另外还增加了一些新概念(项目/模块)用来组织用例。

如果对yaml语法格式不熟悉,以及对于httprunner命令不熟悉的可以使用该平台执行接口自动化测试。

核心特性项目管理:新增项目、列表展示及相关操作,支持用例批量上传(标准化的HttpRunner json和yaml用例脚本)

模块管理:为项目新增模块,用例和配置都归属于module,module和project支持同步和异步方式

用例管理:分为添加config与test子功能,config定义全部变量和request等相关信息 request可以为公共参数和请求头,也可定义全部变量

场景管理:可以动态加载可引用的用例,跨项目、跨模块,依赖用例列表支持拖拽排序和删除

运行方式:可单个test,单个module,单个project,也可选择多个批量运行,支持自定义测试计划,运行时可以灵活选择配置和环境,

分布执行:单个用例和批量执行结果会直接在前端展示,模块和项目执行可选择为同步或者异步方式,

环境管理:可添加运行环境,运行用例时可以一键切换环境

报告查看:所有异步执行的用例均可在线查看报告,可自主命名,为空默认时间戳保存,

定时任务:可设置定时任务,遵循crontab表达式,可在线开启、关闭,完毕后支持邮件通知

持续集成:jenkins对接,开发中。。。

下载安装安装mysql数据库服务端(推荐5.7+),并设置为utf-8编码,创建相应HttpRunnerManager数据库,设置好相应用户名、密码,启动mysql。

将HttpRunnerManager下载下来,解压放在任意盘符位置,例如我放在D盘根目录,并重命名为HttpRunnerManager

环境配置

HttpRunnerManager支持分布式执行,模块和项目执行可选择为同步或者异步方式,因此需要安装相关依赖工具。

erlang

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。

Rabbitmq

RabbitMQ 是一个由 Erlang 语言开发的 AMQP(高级消息队列协议)的开源实现。它支持多个消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模、高可用性的需求,另外安装rabbitmq需要先安装erlang。

下载地址:http://www.rabbitmq.com/downloa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值