JMeter和PostMan工具使用对比

一.数据格式

1、JSON格式

(PostMan和JMeter在登录时请求数据都是JSON的数据格式)

PostMan:

JMeter:

 

 

2、表单格式

表单格式就是要分别输入KEY值和VALUE值,下面以查询电话号码为例

PostMan:

JMeter:

 

postman、jmeter里面分别在哪里填写请求参数

postman中的请求参数是在body里填写的,如果是表单的数据格式就填写在X-www-form中,如果是json/xml数据格式就填写在raw下的json/xml中。

jemter中如果是表单的数据格式就填写在参数中,json数据格式就填写在消息体数据中。

3、XML

PostMan:

JMeter:

 

 二、请求方法:

1、GET(获取资源,这里以查看首页为例)

PostMan:

JMeter:

2、POST(添加资源,这里以添加产品为例)

PostMan:

JMeter:

 

 

3、PUT(修改资源,这里以修改产品为例)

PostMan:

 

 

JMeter:

 

 

4、DELETE(删除资源)

PostMan:

 

 

JMeter:

 

 

三、动态参数

1、PostMan实战

 

 

2、PostMan描述

在登录的tests中定义一个变量来存放token值,以上获取的变量名为"getToken",在下次请求中在请求头中调用变量名,调用的方法是:JWT {{getToken}}

 

 

3、JMeter实战

JMTER中获取动态参数有两种方法:JSON提取器/ 正则表达式提取器

3.1JSON提取器

 

 3.2正则表达式提取器

 

 

4、JMeter描述

4.1JSON提取器:

方法是右键点击添加→后置处理器→JSON提取器,第一个填写的token是变量名,第二个填写的token是实际返回的token值,调用方法是JWT ${token}

 4.2正则表达式提取器

方法是右键点击添加→后置处理器→正则表达式提取器,

四、测试报告

1、PostMan实战

前面的文章当中有详细步骤

2.PostMan描述

生成测试报告的第一种方法:(控制台模式)

1、在控制台输入:”newman run 接口测试.postman_collection.json“ 就可以看到输出的测试报告

生成测试报告的第二种方法:(HTML模式)

1、在控制台输入:”npm install newman-reporter-html“生成HTML的测试报告

2、再在控制台输入”newman run 接口测试.postman_collection.json -r html“

执行后,会在当前目录下生成newman的文件夹,文件夹里面就有.html的测试报告,右键点击打开

3、JMeter实战

4、JMeter描述

生成jmeter测试报告需要先下载Ant,Ant是Java语言的构建工具

1、搭建ant的环境,验证方式:ant -v

2、在jmerer的extras目录下下找到ant-jmeter-1.1.1.jar,把它copy到ant的apache-ant-1.9.14\lib下

3、编写build.xml文件

A、定义了执行那个测试脚本

B、实现自动发送邮件

C、自动生成测试报告

把build.xml放到tests目录下

 4、打开jmeter的bin目录下的jmeter.properties文件,做如下修改:

把jmeter.save.saveservice.output_format=csv

修改为jmeter.save.saveservice.output_format=xml

 5、、activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

 6、完善build.xml文件后,在控制台进入到build.xml文件

7、在控制台输入cd D:\testDev\apache-jmeter-5.4.1\tests ,再输入ant

五、数据驱动:

PostMan:

自动化测试过程中,把测试的公共数据分离出来到一个地方,这样即使这个数据做了调整,只需要修改一个地方。

分离原因:比如请求地址,可能会发送多次变化,如端口从8000调整为8001或者8002,那么这样的话需要调整很多地方,但是使用数据驱动的思想分离出来,

不管开发怎么调整,我们只需要修改一个地方。

点击接口测试下的Edit→点击varibles,复制之后点击保存

 

 

JMeter:

添加方法:添加→配置元件→HTTP请求默认值 ,用来分离请求地址,端口号等,放在一个地方维护,方便后期修改

 

 

六、参数化:(jmeter里的)

txt:

相同的测试步骤,不同的测试数据。比如针对测试平台,我想使用不同的用户登录进去后,来验证产品管理的业务。

在Jmeter里面,参数化有两种方式:

CSV数据文件设置中,说的直接点:就是把测试的数据分离到txt记事本或者是csv文件

第一种:把测试的数据分离到txt记事本

csv:

第2种:CSV数据文件设置csv格式,注意文件保存的时候一定要选择csv格式

 

 

七、session:

1、请求描述:

Session的请求流程:

(1)客户端输入用户名和密码,点击登录按钮发送请求到服务端

(2)登录成功后,服务端把SessionID存储在数据库中并且在响应头Set-Cookie中记录下SessionID反馈给客户端

(3)客户端再次发送请求的时候,在请求头中带上SessionID的信息

(4)服务端接收到客户端发送的SessionID,会在存储在服务端数据库中的SessionID做校验,如果数据一致,则允许访问,如果不一致则跳转到登录页面。

2、JMeter实战

2.1以"51CTO学堂"为例,点击检查,network,登录后获取资源,

 

 2.2在JMeter中添加HTTP Cookie管理器,所有的请求之间SESSIONID是共享的

 

 2.3在登录模块下面添加HTTP信息头管理器,将几个常用的请求头获取填写进去,如content-type,cookie,user-agent

 

2.4在payload里找到请求参数,将其复制到http请求的登录模块,

 

 

 

 

posted @ 2022-04-27 17:17  lm970418  阅读(374)  评论(0编辑  收藏  举报