JMeter安装与接口测试入门[通俗易懂]

JMeter安装与接口测试入门[通俗易懂]安装环境配置1、JDK版本:JDK1.8及以上;2、操作系统:JMeter可以在当前任何一个已经部署了Java的操作系统上运行,Unix(Solaris,Linux,etc)、Windows(98,NT,2000,XP,WIN7)、OpenVMSAlpha7.3+JDK安装与配置1、jdk安装:在官网下载jdk1.8版本压缩包,解压到指定文件夹即可。2、环境变量配置1)右键点击…

大家好,又见面了,我是你们的朋友全栈君。

前言

点进来的朋友你们好,虽然我们素未谋面,但对知识同样的渴求让我们在网络世界实现思想交汇!

从本文开始,我将用心写一个关于JMeter的文章系列,无论你是渴望入门,还是寻求进步,我希望你们都能从这里有所收获。

欢迎关注❤️、评论?、点赞?!

下面是目前已有的博文列表,持续更新中:

  1. JMeter安装与接口测试入门
  2. JMeter逻辑控制器
  3. JMeter配置元件
  4. JMeter操作Mysql数据库
  5. BeanShell Sampler与BeanShell断言
  6. JMeter Linux下执行测试
  7. JMeter自定义日志与日志分析

JMeter当初是为性能测试而生,与loadrunner形成竞争之势,相对于loadrunner,JMeter在性能测试方面有自己的优点:

  1. JMeter开源,而loadrunner收费。
  2. JMeter轻量级,安装包只有几十兆,安装简便。loadrunner安装包则有数个G,安装繁琐。
  3. JMeter有丰富的插件支持,扩展性非常强。
  4. 个人感觉JMeter相对于loadrunner操作简易许多。

后来,因为其便捷的关联功能、丰富的断言以及Beanshell的存在,使JMeter成为接口测试的利器。

1 JMeter安装

下载地址

各版本JMeter下载地址,本文及后续都使用的5.1.1版本,即下图中红圈中。

在这里插入图片描述

JDK安装与配置

JMeter的运行依赖于Java环境,因此在使用JMeter之前要先保证已正确安装JDK。下面以Windows系统为例,演示JDK1.8的安装过程。

  • jdk安装:在官网下载jdk1.8版本压缩包,解压到指定文件夹即可。
  • 环境变量配置
    1. 右键点击计算机图标–属性—高级系统配置—环境变量—系统变量
      在这里插入图片描述
    2. 在系统变量栏单击“新建”,变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.8.0_80(jdk解压目录),确定保存;
      在这里插入图片描述
    3. 再次单击“新建”,变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
      在这里插入图片描述
    4. 选择“path”,点击“编辑”,在原来值的最前面添加下面的信息:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
      在这里插入图片描述
  • 验证jdk安装是否成功,打开DOS窗口,输入java -version,出现以下字样:
    java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

输入javac,出现列表,通过以上两个即可验证jdk已经正确安装。

JMeter安装

JMeter其实是免安装的,将下载的压缩包解压,即可使用。将jmeter.bat创建快捷方式到桌面,就可以双击图标运行JMeter了。
在这里插入图片描述
JMeter安装后,可能会会遇到一些异常,例如:

'findstr' 不是内部或外部命令,也不是可运行的程序或批处理文件。
Not able to find Java executable or version. Please check your Java installation
errorlevel=2
请按任意键继续…

或者是:
jmeter安装启动报错:Not able to find Java executable or version,Please check your Java installation
解决方案就是:环境变量PATH添加:%SystemRoot%/system32;%SystemRoot%;

2 JMeter接口测试

说起接口测试,首先要读懂接口文档,以最常见的http协议接口为例,接口文档大多是这样的:

HOST(地址):http://api.test.com

path(路径):/user/login

请求方式:POST

参数:

参数名称 参数类型 是否必填 字段说明
username String 用户名
password String 密码
device String 登录设备:web、Android、IOS

上面是一个登录接口文档,提供了请求地址、路径、请求方法和参数信息,那么怎么用JMeter按照这个接口文档调用该接口呢?请往下看。

TestPlan(测试计划)是JMeter所有组件的根节点,打开JMeter即默认有一个TestPlan,也只能有一个TestPlan。在TestPlan下添加线程组,线程组可以添加多个,线程组是相对独立的。
在这里插入图片描述
首先在线程组上右键–取样器-HTTP请求,添加了一个HTTP请求取样器,按照接口文档填入信息:
在这里插入图片描述

  • 协议:分为http和https(加密的http),测试环境一般采用http,生产环境使用https。
  • 服务器名称或IP:填入host对应的内容(api.test.com是域名,因为测试环境做了相关配置,否则使用IP)。
  • 端口号:如果服务器地址填IP,这项就要填写相应的IP,具体也看测试环境配置。
  • 路径:填入接口文档的path即可

下面用WeatherWS Web接口实际测试一下:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?op=getSupportCityString

接口描述是这样的:

POST /WebServices/WeatherWS.asmx/getSupportCityString HTTP/1.1
Host: ws.webxml.com.cn
Content-Type: application/x-www-form-urlencoded
Content-Length: length

theRegionCode=string

在这里插入图片描述
添加【察看结果树】:
在这里插入图片描述
运行,察看结果:
在这里插入图片描述
一个简单的http接口调用就这样完成了,但接口测试还远不止这些,比如断言(响应断言和Beanshell断言)、关联等,这些内容可见后续文章。

3 问题解决

响应乱码问题

在JMeter bin目录下的jmeter.properties文件中,插入下图中语句并重启JMeter即可:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134913.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Python Lambda匿名函数示例

    Python Lambda匿名函数示例本文转自https://www.freeaihub.com/article/lambda-in-python.html,该页可在线互动学习匿名函数在本示例中,我们将看到如何在Python中使用Lam

  • host地址_hostname在哪个目录

    host地址_hostname在哪个目录https://laod.cn/hosts/hosts-position.html

  • VMware下载安装教程(虚拟机详细安装教程)

    前面给大家讲过了虚拟机VBox的安装,个人觉得还是没有VMware好用,因为VMware有快照功能,而VBox没有;所以今天就给大家说下VMware的安装,有很多细节方面需要注意,不然很可能安装失败,这里就说下15.5.2的安装。建议不要安装最新版,因为我安装最新版的时候出现了一个情况,就是启动的时候要管理员身份才能打开,而且一直会停留在黑界面,进入不了设置界面,经过多个版本的尝试后,发现还是15.5.2版本的没有出现上述情况。虚拟机的安装1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标

  • Java和JavaScript区别与联系

    Java和JavaScript区别与联系Java和JavaScript有啥区别,据说还有很多人不知道,来给大家科普一下两者区别!Java和JavaScript不同之处:1.用处不一样:它们最本质的不同就是用途:Java目前被广泛应用于PC端、手机端、互联网、数据中心等等;而JavaScript则被主要用于嵌入文本到HTML页面,读写HTML元素,控制cookies等。2.出身不同:Javascript与…

  • 直观理解深度学习的卷积操作,超赞!

    直观理解深度学习的卷积操作,超赞!翻译|于志鹏 赵朋飞    校对 |  翟修川    整理| 凡江转自|AI研习社近几年随着功能强大的深度学习框架的出现,在深度学习模型中搭建卷积神经网络变得十分容易,甚至只需要一行代码就可以完成。但是理解卷积,特别是对第一次接触卷积神经网络的人来说,经常会对诸如卷积核、滤波器、通道等概念和他们的堆叠架构感到困惑。然而卷积是强大且高度可扩展的概念,在本…

  • linux lvm挂载新的硬盘并且扩容

    linux lvm挂载新的硬盘并且扩容

    2021年11月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号