测试框架HttpRunner—1.完整运行步骤.demo

一、介绍

1.1、简介:

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

1.2、测试框架理念:

◈充分复用优秀的开源项目,不追求重复造轮子,而是将轮子组成战车。

◈遵循 约定大于配置 的准则,在框架功能中融入自动化测试最佳工程实践

◈追求投入产出比,一份投入即可满足多种测试需求

1.3、核心特点

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 使用 jmespath,提取和验证 json 响应从未如此简单
  • 使用 pytest,数百个插件可供使用
  • 基于 HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 采用 allure,可以生成美观且强大的测试报告

二、安装和部署

HttpRunner使用python开发,它支持python3.6+和大多数操作系统。

2.1、安装

1.直接使用pip安装

>pip3 install httprunner

2.如需使用最新版本,可以使用gitlub仓库的url安装

>pip3 install git+https://github.com/httprunner/httprunner.git@master

3.如果已安装过,可以使用-U升级

>pip3 install -U httprunner

>pip3 install -U git+https://github.com/httprunner/httprunner.git@master

2.2、检查是否安装成功

-V 大写的V

三、搭建项目

3.1、快速生成项目

httprunner startproject 项目名称

测试框架HttpRunner—1.完整运行步骤.demo_第1张图片

httprunner startproject这个命令跟django里的django-admin.py startproject project_name 很像,没错,其实httprunner的想法正式来源于django,这就是httprunner作为一个优秀开源技术资源整合和复用的体现之一。

3.2、项目结构梳理

我把生成出的项目丢到vscode里方便查看,可以看的生成的目录结构如下图,那么这些都是什么意思呢?

测试框架HttpRunner—1.完整运行步骤.demo_第2张图片

◈debugtalk.py 放置在项目根目录下(借鉴了pytest的conftest文件的设计)

◈.env 放置在项目根目录下,可以用于存放一些环境变量

◈reports 文件夹:存储 HTML 测试报告

◈testcases 用于存放测试用例

◈har 可以存放录制导出的.har文件

◈具体用法会在后续中细讲,本章不展开。我们可以点开生成的testcases文件夹下的测试用例,里面是提供了一个可运行的demo内容的,那先来运行一下看看。

>hrun hr_demo

测试框架HttpRunner—1.完整运行步骤.demo_第3张图片

可以看到两个测试用例运行成功,前期准备工作结束。

四、录制生成测试用例

4.1、使用har2case录制

比如百度首页的请求

首先抓包,可以使用fiddler,charles,浏览器F12等等。

Fiddler:选中请求,点击左上角的File——Export Sessions——(可以选择导出选中的也可以导出所有),这里我们选择导出选中的,导出HTTPArchive,文件名baidu_home.har,保存到了项目的har目录下。

F12:

测试框架HttpRunner—1.完整运行步骤.demo_第4张图片

导出har文件到hr_demo下的har文件夹中:

测试框架HttpRunner—1.完整运行步骤.demo_第5张图片

4.2、转换pytest文件

运行命令将har文件转换成测试用例:

>har2case baidu.har

测试框架HttpRunner—1.完整运行步骤.demo_第6张图片

 生成完毕,在har目录下可以看到生成出的python文件:

测试框架HttpRunner—1.完整运行步骤.demo_第7张图片

因为httprunner封装了pytest,所有既可以用hrun去运行,也可以用pytest去运行。

hrun:

测试框架HttpRunner—1.完整运行步骤.demo_第8张图片

pytest:

测试框架HttpRunner—1.完整运行步骤.demo_第9张图片

4.3、转换为YAML/JSON

很简单,只要在命令后面多加对应的参数就行了。-2y/--to-yml   或者   -2j/--to-json

转换为YAML:

转换为JSON:

测试框架HttpRunner—1.完整运行步骤.demo_第10张图片

看看生成的文件:

测试框架HttpRunner—1.完整运行步骤.demo_第11张图片

五、报告生成

5.1、HTML report

> hrun /path/to/testcase --html=report.html

测试框架HttpRunner—1.完整运行步骤.demo_第12张图片

查看html测试报告

测试框架HttpRunner—1.完整运行步骤.demo_第13张图片

5.2、allure report

执行测试,收集结果

测试框架HttpRunner—1.完整运行步骤.demo_第14张图片

生成报告,查看报告

测试框架HttpRunner—1.完整运行步骤.demo_第15张图片

你可能感兴趣的:(测试工具,自动化测试,python,接口,测试工具)