HTTPRunner3介绍:

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

HTTPRunner3核心功能介绍:

○ 集成了requests库强大功能,在处理https请求上更加优雅人性化(这意味着httprunner(3.x)工具本身的性能和稳定性会更高)
○ 提供了yaml,json的case编写格式,并以pytest方式,更编译和优雅的运行(比较方便的编辑转换后python语言的测试case)
○ 利用har的优势,方便的录制和导出并生成测试case
○ 提供了一些列的机制支持一些复杂的测试场景
○ 通过debugtalk.py插件支持自定义函数的编写
○ 通过jmespath,方便对返回的json进行校验
○ 通过pytest的强大插件生态补充了httprunner的功能
○ 通过allure,让测试报告更加美观,可读性更强
○ 通过和locust的结合,很方便利用httprunner进行接口的性能测试
○ httprunner以命令行方式运行,也更方便接入CI/CD

一、HTTPRunner3安装

1.进入File → Settings → Project → Python Interpreter

2.执行下面命令安装

pip3 install httprunner

HTTPRunner3使用

1.创建目录(脚手架)

在Terminal 输入 httprunner startproject bkydm

执行完成项目的目录结构

2.用例的生成

HttpRunner提供了录制工具,能够将har文件转换成pytest类型或者yaml/json类型的用例。而har文件可以通过抓包软件获得

3.使用Charles获取har文件

选择需要获取的接口,右键点击Export Session,文件类型选择.har格式保存

4.har文件转测试用例

在Terminal 输入 har2case bkydm/har/bkyts.har

执行会完成 出现 bkyts_test.py 文件

将 bkyts_test.py 文件移动到testcases文件夹下

5.运行用例

在Terminal 输入 pytest bkydm/testcases/bkyts_test.py

运行完成后,会在logs文件夹下生成对应的log文件,里面记录了测试过程及结果

、Allure安装

1.执行下面命令安装

pip3 install allure-pytest

注: 也可通过Pycharm(File → Settings → Project → Python Interpreter)进行搜索安装

2.下载地址

https://github.com/allure-framework/allure2/releases

解压后将allure/bin目录添加至系统环境变量中

 四、Allure使用

1.生成测试报告,执行下面两个命令

在Terminal 输入 pytest bkydm/testcases/bkyts_test.py --alluredir=bkydm/reports/allure_results

在Terminal 输入 allure generate --clean bkydm/reports/allure_results -o bkydm/reports/allure_reports

生成结果展示

2.测试报告查看

至此配置完成

五、补充个run.py

import pytest
import os if __name__ == '__main__':
pytest.main(["testcases",
"--alluredir", "reports/allure_results"])
os.system(r"allure generate --clean reports/allure_results -o reports/allure_reports")

              to be continued...

Win HttpRunner3 + Allure 实现接口自动化的更多相关文章

  1. 基于Python+Requests+Pytest+YAML+Allure实现接口自动化

    本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理H ...

  2. pytest+allure生成接口自动化测试报告

    准备环境 1.安装pytest pip install pytest -i http://pypi.douban.com/simple pytest-ordering pytest.main([ &q ...

  3. Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...

  4. 接口自动化框架(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...

  5. 接口自动化框架2-升级版(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...

  6. 使用HttpRunner3+Allure+Jenkins实现Web接口自动化测试

    陆续给不同项目做了Web接口自动化测试,在尝试不同方法的同时会有新的体会.最近用到了HttpRunner3,本文将记录使用HttpRunner3+Allure+Jenkins在项目中快速实现Web接口 ...

  7. RobotFrameWork环境搭建(基于HTTP协议的接口自动化)

    1. 前言 接着上一篇<RobotFramework框架系统课程介绍>,本篇主要介绍一下在基于RobotFramework框架开展接口自动化前,前期的环境如何搭建,正所谓”工欲善其事,必先 ...

  8. 【接口自动化】Python+Requests接口自动化测试框架搭建【三】

    经过上两篇文章的讲解,我们已经完成接口自动化的基础框架,现在开始根据实际项目丰满起来. 在PyCharm中新建项目,项目工程结构如下: config:配置文件夹,可以将一些全局变量放于配置文件中,方便 ...

  9. 接口自动化测试之httprunner初探

    ❝ 今天来介绍一个python的一个开源项目:httprunner,接口自动化工具.第一次输入,难免有不周到的地方,轻喷~ ❞ 介绍: HttpRunner是一个简单优雅但功能强大的 HTTP(S) ...

  10. 接口自动化 - pytest-fixture -scope作用范围

            接口自动化-pytest中的fixture - scope                介绍 fixture文章中介绍的比较少,同学们可以去搜索下fixture的详解或者去看看源码 ...

随机推荐

  1. spacy

    官方文档: https://spacy.io/api Spacy功能简介 可以用于进行分词,命名实体识别,词性识别等等,但是首先需要下载预训练模型 pip install --user spacy p ...

  2. PT的常用命令

    归纳常用的PT命令,便于工作中应用. 1. 报时序的命令 report_timing -from A -to  [get_clocks {clkA}]  -delay_type min report_ ...

  3. LaTeX in 24 Hours - 1. Introduction

    文章目录 1.1 What is LaTeX? 1.2 Why LaTeX Over Other Word Processors 1.3 How to Prepare a LaTeX Input Fi ...

  4. 在Vim编辑器中查找选定文本

    按照任意选定文本查找: 1. 进入visiual模式选定文本, 按 y 键复制: 2. 按 / 键进入查找模式: 3. 按 Ctrl + r 打开vim寄存器: 4. 按 " 键将寄存器内容 ...

  5. Pinia使用技巧

    vue2使用的vuex,是一个状态管理器,现在vue3出了最新的pinia,今年偿试一下. 首先是安装,这里要注意一下,有一个持久化插件,如果不用的话,页面一刷新,状态会消失. npm install ...

  6. token解决cookie的弊端

    token解决cookie的弊端 目录 token解决cookie的弊端 cookie的弊端 token解决弊端一 什么是token和JWT JWT的构成 token工作流程 token解决弊端二 C ...

  7. Linux提权-权限升级

    特权升级是一段旅程.没有灵丹妙药,很大程度上取决于目标系统的具体配置.内核版本.已安装的应用程序.支持的编程语言.其他用户的密码是影响您通往 root shell 之路的几个关键因素 什么是特权升级? ...

  8. DVWA-File Upload(文件上传)

    文件上传是很危险的漏洞,攻击者上传木马到服务器,可以获取服务器的操作权限 LOW 审计源码 <?php if( isset( $_POST[ 'Upload' ] ) ) { // 定义 文件上 ...

  9. Android进度表示

    在连接上数据库之后,一切都变得简单了呢! 开心,很轻松地就能够将APP里面的相关内容写完啦! 尝试了好久的连接Mysql数据库,最后还是没有成功: 虽然Android studio里面自带的SQLit ...

  10. C++/Qt网络通讯模块设计与实现(五)

    在C++/Qt网络通讯模块设计与实现(四)中具体分析了Qt的信号槽.线程相关的知识,即从 Qt::ConnectionType,示例源码,结果论证,归纳总结等四个方面进行了全方面讲解,深刻阐述了代码设 ...