栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

httprunner自动化测试从头开始

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

httprunner自动化测试从头开始

文章目录

前言一、Httprunner

1.简介2.设计思想和理念3.运行环境4.Httprunner环境搭建5.运行环境6.基本语法七.例子八.配置解释关注点赞获取


前言

继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求

采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性

借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑

支持完善的测试用例分层机制,充分实现测试用例的复用。


一、Httprunner 1.简介

它是面向http协议的测试框架,只需要去维护啊一份yaml/json文件就可以使用自动化测试,结合locust性能测试,线上性能监控,持续集成等多种需求

它有两个版本:2.x和3.x

2.设计思想和理念

Go语言编写支持跨平台支持多种协议的代理web管理端 3.运行环境

    HttpRunner 是一个基于 Python 开发的测试框架,可以运行在macOS、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 及以上版本。操作系统:推荐使用 macOS/Linux。
4.Httprunner环境搭建
    支持python2.7、推荐3.7直接安装Httprunner
pip install httprunner

pip install har2case
    验证环境 出现下图版本号就恭喜您成功
hrun -V
​har2case -V

5.运行环境
    httprunner startproject demo 创建工程

    YAML/JSON(必须):测试用例文件,存储接口测试相关信息
    debugtalk.py(可选):存储项目中逻辑运算辅助函数,该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程根目录,该文件不存在时,运行测试的所在路径(CWD)将被视为项目工程根目录
    .env(可选):存储项目环境变量,通常用于存储项目敏感信息
    .csv(可选):项目数据文件,用于进行数据驱动
    reports:默认生成测试报告的存储文件夹
6.基本语法

1、k:(空格)v:表示一对键值对(空格必须有),不支持table键,一般手动空格
2、以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
3、属性和值大小写敏感
4、# 表示注释
5、null是用~表示
6、支持的数据结构:
对象:键值对的集合
数组:一组按次序排列的值

纯量(scalars):单个的、不可再分的值
字符串、布尔值、整数、浮点数、时间、日期、null

七.例子

    手写yaml较为繁琐与麻烦,这里推荐采用抓包方式自动生成yaml

    推荐使用 Fiddler Everywhere 抓包软件 [点击下载:微信搜索【小白看Java】关注发送0001获取提取码](链接: https://pan.baidu.com/s/1e0eauQ_30nkatqdVVNtvpg)

    Postman调用你要测试的接口(如下:)

    在Fiddler Everywhere 将请求包抓取下来,并放在之前创建的项目里面

    执行Har2case 文件.har -2y 将抓的包转换为yaml文件

八.配置解释

    config参数说明,(注:output用法(也可以用export代替)):

    实际演示

    validate 可以支持的校验方式

comparator缩写功能
equal“eq”, “equals”, “equal”相等
less_than“lt”, “less_than”小于
less_or_equals“le”, “less_or_equals”小于或等于
greater_than“gt”, “greater_than”大于
greater_or_equals“ge”, “greater_or_equals”大于或等于
not_equal“ne”, “not_equal”不等于
string_equals“str_eq”, “string_equals”转字符串相等
length_equal“len_eq”, “length_equal”长度相等
length_greater_than“len_gt”,“length_greater_than”长度大于
length_greater_or_equals“len_ge”,“length_greater_or_equals”长度大于或等于
length_less_than“len_lt”, “length_less_than”长度小于
length_less_or_equals"“len_le”, “length_less_or_equals”长度小于或等于
containscheck_value 包含 expect_value
contained_byexpect_value 包含check_value
type_matchtype类型匹配
regex_match正则匹配re.match(expect_value, check_value)
startswith字符串以xx开头
endswith字符串以xx结尾
关注点赞获取

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号