jmeter接口测试


jmeter

jmeter能做什么?

1.JMeter是100%完全由Java语言编写的软件性能测试的GUI的测试工具,方便用户可以无代码的方式编写性能测试脚本。JMeter的特点可以总结为如下:

2.JMerer测试工具不仅仅可以做性能测试,也可以做API的测试,可以和构建工具整合起来,如Ant,Maven,以及CI工具的整合,以及也可以和Grafana可视化整合起来

3.JMeter支持多种协议进行性能测试,如HTTP,HTTPS,WS

jmeter环境搭建

前提:

1、需要搭建java 环境

2、查看java环境是否搭建成功:javac / java -version

jmeter环境搭建:

控制台: sudo vim .bash_profile

把下面的复制进去,JMETER_HOME=后面是jmeter的路径,改成自己的路径

#JMETER export JMETER_HOME=/Applications/tools/apache-jmeter-5.4.1 export PATH=$JMETER_HOME/bin:$PATH

1.搭建成功之后切换语言

环境搭建成功之后,就可以直接在控制台输入jmeter启动,启动成功后,先切换成中文

 2.然后安装插件

3.在搜索框输入json 勾选第一行 点击右下角安装插件

jmeter组件

测试计划

在JMeter的测试工具中,把测试计划可以理解为是一个工程的目录,也就是说每一个脚本都可以说是一个测试计 划,在一个测试计划里面包含了很多的线程组来进行执行,测试计划也是JMeter脚本的根节点。

线程组:测试套件,等于postman里面的集合

监听器:查看结果信息

定时器:就是等待

前置处理器:是测试用例执行前的前置条件,相当于setup

后置处理器:是测试用例执行前的后置条件,相当于teardown

断言:验证测试用例执行的结果,一般用的是json断言,还有响应断言

配置元件:可以理解为对取样器的各种请求进行辅助配置

jmeter录制:是在非测试元件中的http代理服务器

jmeter的目录内容:

bin目录:

可执行的应用程序

extras目录:

扩展插件目录

lib目录:

所用到的插件目录,里面均为jar包

jmeter可能会问到的面试题:

Jmeter动态参数的解决思路是什么?

假设一个图书管理系统,可以进行增删改查,我们在登录成功之后,会返回一个token值,通过登录接口的后置处理器中的json提取器或者正则表达式提取器,我们一般用json提取器,定义一个变量来存储登录成功后的token,在下个接口中我们在请求头当中调用这个变量。

jmeter里面调用变量是什么怎么调用?

在请求头添加token jwt ${token}

添加--配置元件--http信息头管理器--添加

 

断言错误信息总结下:

取值格式类似于js风格和postman差不多例如想取到如下的python接口自动化测试实战:.datas[0].name

 

ant:java构建工具

ant环境变量配置:

#ant环境变量

export ANT_HOME=/Applications/tools/apache-ant-1.10.1

export PATH=$ANT_HOME/bin:$PATH

生成测试报告的配置:

1、 在JMeter的extras下找到ant-jmeter-1.1.1.jar,把它copy到ant的apache-ant-1.10.0\lib下。 2、自动发送邮件,需要三个jar包,分别是:activation.jar,commons-email-1.2.jar,mail.jar,这三个文件放在ant的lib目录下

生成的测试报告如下: