HttpRunner接口自动化框架的使用

Posted wulixia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpRunner接口自动化框架的使用相关的知识,希望对你有一定的参考价值。

简介:

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

HttpRunner是一个基于Python开发的测试框架,可以运行在Mac、Linux、Windows系统平台上,

【第一步】:安装

Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6/3.7。

虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.4 及以上版本。

首先电脑上要保证先安装了Python3.4及以上版本并配置好环境变量

安装方式:使用pip安装

pip3 install httprunner

如果你需要使用最新的开发版本,那么可以采用项目的 GitHub 仓库地址进行安装(未试过该种方式):

pip3 install git+https://github.com/HttpRunner/[email protected]

安装升级:

如果之前有安装过HttpRunner,现在需要升级到最新版本,可以使用-U参数

$ pip3 install -U HttpRunner
$ pip3 install -U git+https://github.com/HttpRunner/[email protected]

安装校验:

在HttpRunner安装成功后,系统会新增5个命令:

  • httprunner: 核心命令
  • ate: 曾经用过的命令(当时框架名称为 ApiTestEngine),功能与 httprunner 完全相同
  • hrun: httprunner 的缩写,功能与 httprunner 完全相同
  • locusts: 基于 Locust 实现性能测试
  • har2case: 辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例

 httprunner、hrun、ate 三个命令完全等价,功能特性完全相同,个人推荐使用hrun命令

 运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功。

hrun -V
har2case -V

 

 【第二步】:简单使用

在python工作目录下创建一个项目模板

进入到Python工作目录-->鼠标右键选择git bash-->输入以下命令:

hrun --startproject 项目名称

技术图片

 命令执行完后会将整个项目结构创建好,使用pycharm打开,可以看到结构如下:

技术图片

在testcases文件夹下新建一个.yml或.json文件,并按照格式写入接口的相关信息,

技术图片

在Terminal中执行用例,进入到用例所在文件夹并执行 hrun xxx.yml/xxx.json,同时会对应的生成测试报告文件夹及测试报告

技术图片

 

【HttpRunner数据驱动】

 在HttpRunner中如果要采取数据驱动的方式来运行用例,需要创建一个文件(testsuite)对测试用例进行引用,并使用parameters关键字定义参数并指定数据源取值方式

在testsuites目录下新建一个测试场景文件testsuite.yml注意文件中的层级关系,testcase和parameters是同一级的

(1)直接指定参数列表

技术图片

该例子中对description进行参数化,在测试用例中直接使用$+变量名进行引用,切换到testsuites目录下去运行testsuite.yml

(2)引用CSV文件

在TestApi下新建一个文件夹data,将csv文件放在data目录下

技术图片

csv中准备好数据,直接引用即可(要注意文件的路径),然后再测试用例中也是同样用 $+参数 名调用。

技术图片

 

 PS:只要csv文件中包含中文字符,执行用例时就会报编码错误,还不知道如何解决

       csv还有不同的格式么 不理解????

 

以上是关于HttpRunner接口自动化框架的使用的主要内容,如果未能解决你的问题,请参考以下文章

接口自动化框架httprunner--设置接口关联

Python接口自动化测试框架(工具篇)-- 接口测试工具HTTPRUNNER

HttpRunner接口自动化测试框架--常见问题

HttpRunner接口自动化测试框架--脚本录制

HttpRunner接口自动化测试框架--常见问题

接口自动化框架httprunner--用例执行