接口测试-postman,JMeter与LoadRunner比较

news2024/12/28 5:21:57

目录

JMeter与LoadRunner比较

JMeter缺点

一.创建测试用例集、子集

二.创建测试用例

三.设置变量

四.添加响应处理

五.批量执行测试用例

总结:


postman是一个谷歌出的轻量级的专门测试接口的小工具~(PS:postman包括两种:Chrome浏览器插件和postman客户端,我使用的是postman客户端)虽然不如firefox的poster插件“轻量”,但是比firefox的poster插件、fiddler的接口测试功能更全面,比Jmeter更轻量、便捷~

一、JMeter 介绍

     Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
     同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用正则表达式来创建这些assertions.

 

JMeter与LoadRunner比较

JMeter 是一款开源(有着典型开源工具特点:界面不美观)测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:

  •   开源,他是一款开源的免费软件,使用它你不需要支付任何费用,
  •   小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。
  •   功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。

 两者最大的区别:jmeter不支持IP欺骗,而LR支持。

JMeter缺点

  使用JMeter无法验证JS程序,也无法验证页面UI,所以要须要和Selenium配合来完成Web2.0应用的测试。

我觉得我比较喜欢postman的两个功能点,一个是它的批量执行、一个是它的查看源码功能。下面与大家分享一下~

今天分享的是postman如何批量执行接口测试用例~其实很简单,但是会给我们的工作带来很多方便~比如我们写了几十个测试用例,请求都是同一个服务器IP,一旦服务器IP地址从测试环境搬到线上环境,需要修改所有的服务器IP,如果不能将测试用例保存起来,统一修改服务器IP ,并且批量执行,那将是一件很麻烦的事情!可是postman帮助我们完美地解决了这个问题~具体操作请见下文~

一.创建测试用例集、子集

如下图,

点击postman左侧Collections下面有个添加文件夹图标,就可以创建测试用例集,一个系统、模块或其他分类粒度的测试用例可以存放在该目录下

另外,该目录下还可以创建子目录,进行测试用例的细分,如下图: 

二.创建测试用例

创建接口测试用例,即新建http请求,选择请求方式、写好url、请求头、请求体

三.设置变量

postman的变量和Jmeter的参数化相似,即把若干处出现多次的数值用一个变量表示,达到一次修改、多处生效的效果,便于修改和管理。

点击postman上方一个按钮,点击Globals后面的Edit按钮,添加全局变量

 

点击右下角Add按钮,添加Environment Name,Key值写变量名称,Value值写变量对应的数值,点击Save按钮进行保存

 

把Value值出现过的地方用{{key}}代替,比如以上面的截图为例,出现http://172...57:8080的位置使用“{{baseURL}}”代替

 

四.添加响应处理

响应处理有点类似Jmeter里的检查点,即通过检查响应数据是否符合预期来判断test是否通过。在Tests中添加检查条件,postman提供了一些常用的检查条件的代码,直接添加或稍加修改即可。如:响应数据的状态码为200,则判断测试通过,则在代码片中选择“status code:code is 200”

 

tests["测试Response包含星期三"]=responseBody.has("10日星期三")
tests["测试Response包含星期三"]=responseCode.code === 200;

五.批量执行测试用例

点击测试用例集中的“run”,批量运行测试用例,弹出collection runner,点击“Start Run”,批量运行测试用例

运行后,弹出测试结果,显示测试通过和失败的个数、请求URL、请求头、请求体信息,响应头、响应体信息,状态码等,我们就可以查看测试用例的执行结果及具体信息啦~

总结:

感谢每一个认真阅读我文章的人!!!

 我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721573.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL如何根据执行计划进行性能调优?

EXPLAIN命令 PG中EXPLAIN命令语法格式如下: EXPLAIN [(option[,...])] statement EXPLAIN [ANALYZE] [VERBOSE] statement该命令的options如下: ANALYZE [boolean]VERBOSE [boolean]COSTS [boolean]BUFFERS [boolean]FORMAT {TEXT | XML | JSON | YAM…

【UnityDOTS 十】DynamicBufferComponent介绍

DynamicBufferComponent 前言 DynamicBufferComponent 作为一种特殊的组件存在,可以作为一种非托管内存下可动态调整带下的数组容器组件。 一、DynamicBufferComponent是什么? DynamicBufferComponent也是组件的一种。 需要关注的是内部指针&#xf…

spring使用01

① 导入 Spring 开发的基本包坐标 ② 编写 Dao 接口和实现类 ③ 创建 Spring 核心配置文件 ④ 在 Spring 配置文件中配置 UserDaoImpl ⑤ 使用 Spring 的 API 获得 Bean 实例 第一步&#xff1a;创建maven的web骨架 然后&#xff0c;导入 Spring 开发的基本包坐标 <depe…

工资10K,副业20K,这届程序员搞副业真野

最近刚完成了一个远程外包项目工作&#xff0c;钱刚到账&#xff0c;小金库又添了一笔&#xff1a; 从一开始的15K死工资&#xff0c;到现在的主业副业一共25K收入&#xff0c;最近的经济压力小了很多&#xff0c;终于也有闲钱和老婆去旅旅游&#xff0c;升级一下外设&#xff…

平板电脑的触控笔有必要买吗?平价电容笔排行榜

伴随着ipad的流行&#xff0c;部分学习党开始从传统的纸笔教学向无纸化教学转变。于是&#xff0c;原本属于苹果专利的电容笔&#xff0c;一下子就火了起来&#xff0c;不少人都对这个价格接近一千块钱的电容笔产生了浓厚的兴趣。我想&#xff0c;苹果电容笔特有的的“重力压感…

MySQL数据库基础(二):DDL,DML,DQL

六、DDL数据库操作 1、MySQL的组成结构 注&#xff1a;我们平常说的MySQL&#xff0c;其实主要指的是MySQL数据库管理软件。 一个MySQL DBMS可以同时存放多个数据库&#xff0c;理论上一个项目就对应一个数据库。如博客项目blzhujianog数据库、商城项目shop数据库、微信项目wec…

OpenCV创建一张类型为CV_8UC3的3通道彩色图像

#include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp> #include <opencv2/highgui.hpp>int

[MySQL]MySQL库的操作

[MySQL]MySQL库的操作 文章目录 [MySQL]MySQL库的操作1. 创建数据库2. 字符集和校验规则2.1. 基本概念2.2. 查看系统默认字符集以及校验规则2.3. 查看数据库支持的字符集2.4 查看数据库支持的校验规则2.5 指明字符集和校验规则创建数据库2.6 校验规则对数据库的影响 3. 删除数据…

经典轻量级神经网络(1)MobileNet V1及其在Fashion-MNIST数据集上的应用

经典轻量级神经网络(1)MobileNet V1及其在Fashion-MNIST数据集上的应用 1 MobileNet V1的简述 自从2017年由谷歌公司提出&#xff0c;MobileNet可谓是轻量级网络中的Inception&#xff0c;经历了一代又一代的更新。 MobileNet 应用了Depthwise 深度可分离卷积来代替常规卷积…

【hadoop】Google的基本思想

Google的基本思想 三架马车GFS分布式文件系统的核心架构和原理机架感知 MapReduce计算模型PageRank问题MapReduce BigTable 三架马车 Google的基本思想主要有三个&#xff0c;称之为三架马车&#xff0c;分别是GFS&#xff08;Google File System&#xff09;、MapReduce计算模…

gitlab/gerrit

gitlab/gerrit 1. gitlab2. gerrit2.1 环境准备2.2 下载软件2.3 创建启动账户2.4 安装gerrit2.5 创建登录账户2.6 启动服务2.7 修改配置文件2.8 配置反向代理(nginx)2.9 gerrit主页 3. gitlabgerrit3.1 配置gerrit replication功能&#xff08;用于复制具体项目&#xff09;3.2…

深入浅出讲解Stable Diffusion原理,新手也能看明白

说明 最近一段时间对多模态很感兴趣&#xff0c;尤其是Stable Diffusion&#xff0c;安装了环境&#xff0c;圆了自己艺术家的梦想。看了这方面的一些论文&#xff0c;也给人讲过一些这方面的原理&#xff0c;写了一些文章&#xff0c;具体可以参考我的文章&#xff1a; 北方…

51单片机驱动 mg996r金属舵机 STC89C52单片机直接驱动金属大舵机

/*无论是大舵机&#xff0c;还是小舵机&#xff0c;控制方法都一样会区别在 大舵机只能接P0口&#xff08;此口外接上拉&#xff0c;驱动电流最大&#xff09;小舵机任意口 */ //#include<reg51.h> //#define uint unsigned int //#define uchar unsigned char //sbit S…

10、架构:组件通信设计

通信是一个应用中不可或缺的一个功能&#xff0c;现如今前端视图类框架大多数都是由数据驱动&#xff0c;通过数据来进行视图层的展示渲染。举个简单的例子如下&#xff0c;这是一个常见的 React 列表渲染&#xff1a; // each const numbers [1, 2, 3, 4, 5]; const listIte…

应用级监控方案Spring Boot Admin

1.简介 Spring Boot Admin为项目常用的监控方式&#xff0c;可以动态的监控服务是否运行和运行的参数&#xff0c;如类的调用情况、流量等。其中分为server与client&#xff1a; server&#xff1a; 提供展示UI与监控服务。client&#xff1a;加入server&#xff0c;被监控的…

C语言王国探险记之函数的简单概念

王国探险记系列 文章目录&#xff08;5&#xff09; 目录 王国探险记系列 文章目录&#xff08;5&#xff09; 前言 一&#xff0c;函数的基本概念 二&#xff0c;调用外部函数和main()函数区别 2.1如果我们将函数的定义放到后面&#xff0c;可不可以呢&#xff1f; 总结…

插值应用案例1

案例1 一阶线性插值 待加工零件外形根据工艺要求在一组数据(x,y)给定&#xff08;如下表&#xff09;&#xff0c;用程控铣床加工时每一刀只能沿着x方向或y方向走非常小的一步&#xff0c;需要从已知数据得到加工步长很小的(x,y)的坐标。 下表中所给x,y数据位于机翼断面的下…

使用Vue脚手架

(193条消息) 第 3 章 使用 Vue 脚手架_qq_40832034的博客-CSDN博客 初始化脚手架 说明 1.Vue脚手架是Vue官方提供的标准化开发工具&#xff08;开发平台&#xff09; 2.最新的版本是4.x 3.文档Vue CLI脚手架&#xff08;命令行接口&#xff09; 具体步骤 1.如果下载缓慢…

Libvirt Event Loop简介

文章目录 前言实现原理处理框架编程接口 原理验证事件订阅服务监听验证流程 前言 Event Loop顾名思义就是事件循环&#xff0c;整个程序是一个大的循环&#xff0c;通过事件来驱动程序要做的事情。传统编程模型是顺序的&#xff0c;程序运行一次然后终止&#xff0c;这种模型简…

JavaScript Day10 DOM详解

DOM DOM是JS操作网页的接口&#xff0c;全称为“文档对象模型”&#xff08;Document Object Model&#xff09;。它的作用是将网页转为一个JS对象&#xff0c;从而可以用脚本进行各种操作&#xff08;比如增删内容&#xff09;。 • 文档 – 文档表示的就是整个的HTML网页文档…