您当前的位置: 首页 >  http

测试框架师凃九

暂无认证

  • 3浏览

    0关注

    118博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【开源】httprunner(S)框架介绍

测试框架师凃九 发布时间:2022-05-23 17:21:41 ,浏览量:3

前言

今天来给小伙伴们介绍一下httprunner,废话不多说,一切都在正文中,咱们直接看正文哟,喜欢的可以关注我哟。

一、介绍

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

二、框架设计理念
  • 充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车
  • 遵循 约定大于配置 的准则,在框架功能中融入自动化测试最佳工程实践
  • 追求投入产出比,一份投入即可实现多种测试需求
三、核心特点
  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 以YAML或JSON格式定义testcase,使用pytest运行,更加简洁优雅
  • 有了pytest,成百上千的插件随时可用
  • 支持variables/extract/validate/hooks机制来创建极其复杂的测试场景
  • 借助辅助函数(debugtalk.py),任何函数都可以在测试用例的任何部分中使用
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 使用python的第三方库jmespath,让提取和验证json响应更简单
  • 基于 HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 集成了Allure,让测试报告更加漂亮,内容更丰富。
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

 

四、环境说明

HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。笔者使用的是macOS系统,所以后续都是基于macOS系统的学习。

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

电脑上还没安装Python的小伙伴还请自行查询安装,非常的简单,这里附上python的官方地址:https://www.python.org/

五、安装HttpRunner

HttpRunner 的稳定版本托管在 PyPI 上,可以使用pip进行安装,非常的便捷。 打开CMD,输入安装命令即可:

pip install httprunner

如果已经安装过的,也可以进行更新升级一下。

pip install -U HttpRunner

检验是否安装成功 输入命令:

$ hrun -V
3.1.4

显示出版本号,说明安装成功。 你也可以通过输入:hrun -h,查看命令帮助说明。 在 HttpRunner 安装成功后,系统中会新增 4 个命令:

  • httprunner: 核心命令
  • hrun:httprunner 的缩写,功能与 httprunner 完全相同
  • hmake:httprunner make的别名,用于将YAML/JSON测试用例转换为pytest文件
  • har2case:辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例

 

六、快速生成项目

环境装好了,相信很多小伙伴已经迫不及待的想run起来了,但是面对一个陌生的框架又无从下手。没关系,我们可以用脚手架来快速生成一个httprunner项目。 我们不妨先输入httprunner startproject -h,来看一下命令说明。

chenshiengdeMBP:PythonCode chenshifeng$ httprunner startproject -h
 
usage: httprunner startproject [-h] [project_name]
 
positional arguments:
  project_name  Specify new project name.
 
optional arguments:
  -h, --help    show this help message and exit

可以看出,只需要在命令后面带上项目名称这个参数就好了,那就先来创建一个项目,名称叫httprunner_demo。

chenshiengdeMBP:PythonCode chenshifeng$ httprunner startproject httprunner_demo
2022-05-04 17:27:16.152 | INFO     | httprunner.scaffold:create_scaffold:43 - Create new project: httprunner_demo
Project Root Dir: /Users/chenshifeng/MyCode/PythonCode/httprunner_demo
 
created folder: httprunner_demo
created folder: httprunner_demo/har
created folder: httprunner_demo/testcases
created folder: httprunner_demo/reports
created file: httprunner_demo/testcases/demo_testcase_request.yml
created file: httprunner_demo/testcases/demo_testcase_ref.yml
created file: httprunner_demo/debugtalk.py
created file: httprunner_demo/.env
created file: httprunner_demo/.gitignore
 
$ tree httprunner_demo -a
2022-05-04 17:27:16.161 | WARNING  | httprunner.scaffold:show_tree:29 - tree command not exists, ignore.
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit
chenshiengdeMBP:PythonCode chenshifeng$ 

项目生成完毕,也是非常的简单。 如果你输入的项目名称已经存在,httprunner会给出warning提示。

chenshiengdeMBP:PythonCode chenshifeng$ httprunner startproject httprunner_demo
2022-05-04 17:29:00.631 | WARNING  | httprunner.scaffold:create_scaffold:32 - Project folder httprunner_demo exists, please specify a new project name.
 
$ tree httprunner_demo -a
2022-05-04 17:29:00.636 | WARNING  | httprunner.scaffold:show_tree:29 - tree command not exists, ignore.
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

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

今天的httprunner的介绍就到这里了喜欢的可以给我点赞评论收藏加关注哟,你们的支持就是我的动力哟。

 

关注
打赏
1662724262
查看更多评论
立即登录/注册

微信扫码登录

0.4385s