测试老宅男扶摇

导航

Jmeter接口自动化从入门到实战(含实战项目)

配套项目介绍

本着光学不练,一干就废的痛点。本文不单有Jmeter接口自动化从入门到实战的系统技术内容,还搭配给各位免费练手的实战项目(含有完整接口文档)的那种!
那这次带来的项目叫shopxo
官方访问地址:https://www.shopxo.net/
是一个主流的电商项目地址。
这里我们主要是结合它的前端项目进行接口自动化的演练,前端项目的访问地址
https://d2.shopxo.vip/

自行访问这个地址注册一个登陆账号即可。

并且,这个项目还有完备的接口文档:
https://doc.shopxo.net/article/2.html

1 JMeter简介

越来越多的测试人员选择JMeter主要有以下几点原因:

  • JMeter是基于Java的开源工具,扩展性强,可自定义开发插件;
  • JMeter社区活跃,会定期更新、修改bug、优化功能;
  • JMeter学习成本低,提供了方便的图形界面来编辑和开发测试脚本,上手快;
  • JMeter可以和很多工具兼容,如Jenkins,方便测试自动化;
  • JMeter具有平台无关性,可以轻易在Windows、Linux和macOS上运行。

PS:JMeter毕竟是做压测的工具,自动化这块还是有缺陷,上节课有详细对比。如果公司做一些简单的接口自动化,可以考虑使用JMeter快速完成,如果想做完善的接口自动化体系,建议还是基于python来做。

2 JMeter的安装和使用

2.1 Windows环境

首先需要安装JDK,然后再部署JMeter。注意,JMeter对JDK的版本是有要求的,一般至少要JDK8,这也是目前开发过程中使用频繁的版本。

1. 安装JDK

从官网下载JDK:
https://www.oracle.com/cn/java/technologies/downloads/#java8-windows

X86 是 32位电脑使用
X64 是 64位电脑使用
这里选择jdk-8u341-windows- x64.exe。下载后双击进行安装,一步步选择默认项即可。
然后是配置环境变量。通常步骤为:鼠标右键单击我的电脑,选择“属性”,单击“高级系统设置”→“环境变量”,在弹出的环境变量窗口进行配置。
新建系统变量:变量名为JAVA_HOME,变量值为JDK的安装目录。
修改系统变量:变量名为path,添加变量值为%JAVA_HOME%\bin; %JAVA_HOME%\jre\bin。
最后在cmd命令行中,输入java -version,验证JDK是否安装成功,成功后的显示如图2-2所示。

2.安装JMeter

从官网下载JMeter的Binaries版本(可执行的版本),另外一个Source版本是源码,需要自己编译,需注意区别,别下载错误了。
https://jmeter.apache.org/download_jmeter.cgi
JMeter官网下载界面如下图所示,下载apache-jmeter-. zip,然后解压缩,运行/bin目录下的jmeter.bat即可打开JMeter的图形化界面进行脚本的编写。

2.2 macOS环境

1. 安装JDK

安装步骤如下。
(1)下载JDK8对应的安装包,macOS下需要下载jdk-8u341-macosx-x64.dmg,然后双击即可安装。
https://www.oracle.com/cn/java/technologies/downloads/#java8-mac

(2)一般默认JDK安装的真实主目录为/Library/Java/JavaVirtualMachines/jdk_251.jdk/ Contents/Home。
(3)打开终端,进入当前用户的home目录下(执行cd命令即可进入)。
(4)打开配置文件,并添加如下语句:

vi .bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk_251.jdk/Contents/Home

(5)在终端输入java -version,验证JDK 8是否安装成功。正确显示Java版本号即为安装成功,如下:

MacBook-Pro:~hutong$ java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08,mixed mode)

2. 安装JMeter

同上面Windows的Jmeter安装,到官网下载Binaries下的apache-jmeter-.zip压缩包,解压后,打开/bin目录下的JMeter即可使用。

3 JMeter的常用核心组件

由于JMeter涉及的组件数目很多,据不完全统计至少有110个,而其实只需要掌握20%的组件就可以完成80%甚至更多的日常工作了,所以接下来我们重点剖析使用最频繁的核心组件,如下图所示。只需要优先掌握这10个左右的组件就能应付日常大部分的接口测试工作。

提示:
(1)所有组件的添加都是通过鼠标右键单击上一层组件的方式选择的。
(2)比较好用的功能是使用鼠标右键单击做启用(enable)或禁用(disable)的切换,对于不想测试的请求可以禁用,而不用删除处理。
JMeter的常用核心组件最简化入门介绍
由于各个组件功能比较多,我们本课程的目的是为了用JMeter实现接口测试,因此基于这个目标,给大家最简化的讲解Jmeter常用组件的功能:
1.测试计划:测试起点,所有组件的容器

2.线程组:代表一定数量的用户

3.取样器:向服务器发送请求的最小单元

4.逻辑控制器:结合取样器实现一些复杂的逻辑

5.前置处理器:在请求之前的工作

6.后置处理器:在请求之后的工作

7.断言:判断请求是否成功

8.定时器:负责请求之间的延迟间隔。常用的有固定,高斯,随机

9.配置元件:配置信息

10.监听器:收集结果

执行顺序:
测试计划-》线程组-》配置元件-》前置处理器-》定时器-》取样器(请求)-》后置处理器-》断言-》监听器

作用域:

必须组件:测试计划、线程组、取样器

辅助组件:剩余的

辅助组件作用于父组件,同级组件以及同级组件下的所有子组件

4 JMeter接口测试实战

4.1.新建线程

  • 线程数代表请求多少次
  • Ramp-up period(in seconds)表示设置的线程数在多少秒内启动完毕,即如果线程数设置为5,而此项也设置为5,那么会每隔5/5=1(s)启动一个线程。
  • 循环次数,Loop Count表示设置的线程数循环的次数,如果选择Infinite(永远)选项,则会一直循环(注意,如果选择了Infinite且调度器配置中设置了持续时间,则会在持续时间到达之后结束循环)。

4.2. 配置元件

HTTP请求默认值(HTTP Request Defaults)

一般用作全局的配置,即有多个请求的时候,如果IP地址和端口都是一样的,那么在添加该组件后填写IP地址和端口,后续的HTTP请求就不用填写IP地址和端口了,统一管理即可

这里配置的地址是
https://d2.shopxo.vip/index.php?s=

但是后面发现拼接会报错,这里只做简单演示,如果拼接报错,建议换下面的组件

用户定义的变量

全局变量

这里设置了一些

posted on 2023-06-10 13:45  测试老宅男扶摇  阅读(683)  评论(0编辑  收藏  举报