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即可:
在这里插入图片描述

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java后端知识概述

    java后端知识概述1,java基础知识包括基本语法,集合类框架,以及java语言的特性,jvm等基本知识点,还有一些高级特性,比如反射,注解等等。2,设计模式设计模式是为了可重用代码,让代码更容易被他人理解、保证代码的可靠性的。通常来说,设计模式在系统开发中都是必不可少的。因为这样会简化,降低系统实现过程中要解决的问题。设计模式是软件工程的基石脉络,而模式是在某一背景下某个问题的一种解决方案。常见的设计模式有工厂模式,单例模式,mvc模式等等。而在开发中,所用到的设计模式,往往会根据实际背景去选择某一设计模式。

    2022年7月7日
    46
  • django入门教程_魔方新手入门教程全集

    django入门教程_魔方新手入门教程全集本文面向:有python基础,刚接触web框架的初学者。  环境:windows7   python3.6.1   pycharm专业版   Django1.10版  pip3 一、Django简介  百度百科:开放源代码的Web应用框架,由Python语言编写……  重点:一个大而全的框架,啥都替你考虑好了。1.web框架介绍  具体介绍Django之前…

    2025年8月28日
    5
  • 视频标清、高清、全高清的分类分辨率码率帧率参考(附图)

    视频标清、高清、全高清的分类分辨率码率帧率参考(附图)视频标清、高清、全高清的分类分辨率码率帧率参考(附图)视频标清、高清、全高清的分类分辨率码率帧率参考(附图)

    2022年5月6日
    176
  • 基于jsp和基于web的区别_java发送短信

    基于jsp和基于web的区别_java发送短信最新web/java/jsp实现发送手机短信验证码和邮箱验证码的注册登录功能(详细)最近几天有人需要帮忙做一个关于发送验证码的功能,之前没有做过,于是我鼓捣一阵子,记录一下关于web项目中注册登录常用的手机验证码和邮箱验证码的发送。作为一个演示项目,我没有使用任何框架,用了一个简单的jsp+Servlet,当然用boostrap美化了一下。代码带有注释,非常简单易懂。一、手机验证码由于手机…

    2022年10月13日
    3
  • cocos creator 部署微信云开发

    cocos creator 部署微信云开发cocoscreator部署微信云开发

    2025年7月17日
    4
  • flashfxp3.41中文版注册码:(适合最新版本)

    flashfxp3.41中文版注册码:(适合最新版本)推荐(尚未被封的Realkey)FLASHFXPvACq2ssbvAAAAAC1W7cJKQTzmx77zmqJICvA7d3WnUtWNXdrp8YuERRFdIvXfOPbcpABkVix2aRTgg6afcIKFPxS72XYljdE9tgQD/2r+kmfVBngGM4Qc9p7e0PcTfFF/1tt2bqlxS8r0L7z0jrqb5NSiPr…

    2022年7月26日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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