Win HttpRunner3 + Allure 实现接口自动化
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 实现接口自动化的更多相关文章
- 基于Python+Requests+Pytest+YAML+Allure实现接口自动化
本项目实现接口自动化的技术选型:Python+Requests+Pytest+YAML+Allure ,主要是针对之前开发的一个接口项目来进行学习,通过 Python+Requests 来发送和处理H ...
- pytest+allure生成接口自动化测试报告
准备环境 1.安装pytest pip install pytest -i http://pypi.douban.com/simple pytest-ordering pytest.main([ &q ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- 接口自动化框架(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...
- 接口自动化框架2-升级版(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...
- 使用HttpRunner3+Allure+Jenkins实现Web接口自动化测试
陆续给不同项目做了Web接口自动化测试,在尝试不同方法的同时会有新的体会.最近用到了HttpRunner3,本文将记录使用HttpRunner3+Allure+Jenkins在项目中快速实现Web接口 ...
- RobotFrameWork环境搭建(基于HTTP协议的接口自动化)
1. 前言 接着上一篇<RobotFramework框架系统课程介绍>,本篇主要介绍一下在基于RobotFramework框架开展接口自动化前,前期的环境如何搭建,正所谓”工欲善其事,必先 ...
- 【接口自动化】Python+Requests接口自动化测试框架搭建【三】
经过上两篇文章的讲解,我们已经完成接口自动化的基础框架,现在开始根据实际项目丰满起来. 在PyCharm中新建项目,项目工程结构如下: config:配置文件夹,可以将一些全局变量放于配置文件中,方便 ...
- 接口自动化测试之httprunner初探
❝ 今天来介绍一个python的一个开源项目:httprunner,接口自动化工具.第一次输入,难免有不周到的地方,轻喷~ ❞ 介绍: HttpRunner是一个简单优雅但功能强大的 HTTP(S) ...
- 接口自动化 - pytest-fixture -scope作用范围
接口自动化-pytest中的fixture - scope 介绍 fixture文章中介绍的比较少,同学们可以去搜索下fixture的详解或者去看看源码 ...
随机推荐
- Realtek 平台一些乱七八糟的编译环境设置
1. 129x 系列之后的就推荐用ubuntu 16.04了 省去一些GCC ,tar,quilt 等问题 Android 平台: sudo apt-get install u-boot-tools ...
- alia linux
alias lrt='ls -lrt'
- 异常:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.2.RELEASE:repackage (repackage) 解决办法
异常:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.2.RELEASE:repackage ...
- VisualVM简单配置以及插件安装
一.概述 VisualVM是随JDK发布的功能很强大的运行监视和故障处理程序.除了运行监视,故障处理外,还提供了很多其他方面的功能,如性能分析等.它有一个很大的优点:不需要被监视的程序基于特殊Agen ...
- bootstrapv4轮播图去除两侧阴影及线框
一.前提条件: 在使用bootstrap v4中的轮播图组件时,两侧默认出现阴影,且轮播组件示例不一致! 二.bootstrap文档组件展示与实际应用 1.官方文档展示如下:没有阴影 2.实际应用情 ...
- Java-http请求工具-OkHttp用法
前言:一般Java项目后端发送请求都使用http,最近项目里面大佬建议把http都改成okhttp3(OkHttpClient).故今日记录部分常用发送方式. 代码:为了便于以后使用,这里封装一个Ok ...
- 什么是Markdown
什么是markdown? Markdown是一种轻量级标记语言,它允许人们使用已读一些的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档.这种语言吸收了很多在电子邮件中已有的纯文本标 ...
- 写.jsp项目有感
本次练习了一个简单的登录界面 我觉得在写这种类型的界面的时候,需要将各个需求分开,就以这次的登录界面为例展开说说 1.登录界面 输入框的居中问题.登录按钮的跳转问题.验证码图片的随机问题.快速注册的跳 ...
- 性能的极致,Rust的加持,Zed-Dev编辑器快速搭建Python3.10开发环境
快就一个字,甚至比以快著称于世的Sublime 4编辑器都快,这就是Zed.dev编辑器.其底层由 Rust 编写,比基于Electron技术微软开源的编辑器VSCode快一倍有余,性能上无出其右,同 ...
- 刘勇智:一码通缺陷分析与架构设计方案丨声网开发者创业讲堂 Vol.02
本文内容源自「声网开发者创业讲堂 Vol.02」的演讲分享,分享讲师为 Thoughtworks 专家级咨询师刘勇智.大家可以点击此链接,观看视频回放以及下载讲师 PPT. 从去年年底到现在,随着疫情 ...