热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

接口自动化测试httprunner+locust+python安装与实践

附httprunner中文使用文档地址:https:cn.httprunner.org一、框架介绍1、HttpRunner是一款面向HTTP(S)协议的通用测试框架,只需编写维护

附httprunner中文使用文档地址:https://cn.httprunner.org/

一、框架介绍

1、HttpRunner

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

2、Locust

Locust是一款易于使用的分布式用户负载测试工具。它用于对网站(或其他系统)进行负载测试,并确定系统可以处理多少并发用户。HttpRunner 通过复用Locust ,可以在无需对 YAML/JSON 进行任何修改的情况下,直接运行性能测试。

二、环境安装

1、安装python,推荐python3.4+(python安装不做介绍)

2、安装httprunner

(1)进入cmd窗口,输入以下命令

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

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

 (2)检查是否安装成功

 

三、小试牛刀(httprunner)

1、测试用例的生成

(1)利用fiddler/charles对接口数据进行抓包,将结果导出为XX.har文件

 

 

选择导出格式

 

(2)将导出的XX.har文件转化为json文件/yaml文件

转化为json文件:har2case  文件路径

转化为yaml文件:har2case  文件路径   -2y

转化成功后的yaml文件如下:

2、新建项目(此处演示是将项目放置D盘)

 (1)进入D盘

 (2)输入命令:hrun  --startproject  项目名称

项目目录如下:

3、将上面转化好的XX.har文件放置在项目文件夹testcases中

4、运行用例

(1)运行单个用例

(2)运行多个用例

5、查看报告

在项目文件夹report中,生成了html格式的测试报告

6、常见问题

 

 四、安装locust

1、安装命令:pip install locustio

 

2、查看是否安装成功

运行命令:locusts -V

 

3、查看使用帮助文档

运行命令:locusts -h

4、运行用例

运行命令:locusts -f  文件路径  --processes

(在 Locust 中需使用多核处理器的能力,--processes 参数,可以一次性启动 1 个 master 和多个 salve。若在 --processes 参数后没有指定具体的数值,则启动的 slave 个数与机器的 CPU 核数相同。)

5、用例运行完成后,在浏览器中输入地址   http://localhost:8089/,可查看到locust页面。

分别输入并发数和每秒产生的用户数,点击【开始】即可。

6、查看性能测试报告

(1)请求统计

 

(2)每秒完成的请求数(RPS)

 

 (3)响应时间

 

(4)不同时间的虚拟用户数

7、参数说明

 

over!!!


推荐阅读
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 先上图引入插件在pubspec.yaml中引入charts_flutter插件使用的时候版本到0.6.0,插件地址:https:github.comgooglecharts使用插件 ... [详细]
  • 支付宝老的wap支付接口支付交易处理失败,请稍后再试。(ALI14)
    支付宝老的wap支付接口支付交易处理失败,请稍后再试。(ALI14)service:alipay.wap.trade.c ... [详细]
  • 4HTTP响应报文
    1.HTTP响应报文分析HTTP响应报文效果图:响应报文说明:---响应行状态行---HTTP1.1200OK#HTTP协议版本状态码状态描述---响应头---Server:Ten ... [详细]
author-avatar
帅哥不潮_460
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有