Jmeter录制脚本详解

一、录制脚本的基本概念

Jmeter是一款免费、开源的性能测试工具,可用于测试静态或动态资源的请求,包括静态文件、动态页面、Web服务、FTP服务等。其中录制脚本是Jmeter的重要特性之一。

Jmeter的录制脚本是将HTTP请求转换为Jmeter测试脚本的一种方式,它可以记录用户与Web应用程序之间交互的HTTP请求和响应,以便实现在后续测试中模拟这些请求和响应。录制脚本包括3部分:HTTP代理服务器、浏览器和Web应用程序。

具体来说,HTTP代理服务器收集和转发浏览器通过Jmeter进行的HTTP请求。Jmeter使用代理服务器截获HTTP请求,浏览器从代理服务器接收响应,然后Jmeter通过代理服务器记录HTTP请求和响应,从而生成测试脚本。

二、录制脚本的使用方法

使用Jmeter录制脚本的步骤如下:

1. 配置HTTP代理服务器

在Jmeter的“Workbench”下找到“HTTP(S)代理服务器”,右键选择“添加”并设置端口号和Target Controller。Target Controller可以设置成根节点或者是任意一个现有节点下面的子节点。配置完成后,在“Test Plan”中保存HTTP代理服务器的设置。

<HTTPProxyControl>
  <stringProp name="port">8080</stringProp>
  <stringProp name="domain"></stringProp>
  <stringProp name="target">/</stringProp>
  <boolProp name="captureHttpHeaders">true</boolProp>
  <boolProp name="addAssertions">false</boolProp>
  <boolProp name="useRegexForSamplerName">false</boolProp>
  <boolProp name="responseBasedActionNaming">false</boolProp>
  <boolProp name="assumeHttpVersion">true</boolProp>
  <boolProp name="embeddedUrlRE"></boolProp>
  <boolProp name="includeScope">false</boolProp>
  <elementProp name="agreements">
    <collectionProp>
      <stringProp name="-1">on</stringProp>
      <stringProp name="-241414560">on</stringProp>
    </collectionProp>
  </elementProp>
  <elementProp name="exclude_list">
    <stringProp name="-1"></stringProp>
  </elementProp>
  <stringProp name="filename"></stringProp>
  <boolProp name="auto_redirects">true</boolProp>
  <boolProp name="follow_redirects">true</boolProp>
  <stringProp name="proxyChain"></stringProp>
</HTTPProxyControl>

2. 配置浏览器

在浏览器中设置代理服务器。这里以Chrome为例,进入“设置”-“高级”-“系统”-“打开代理设置”,在“代理服务器”中输入“localhost:8080”,保存后关闭设置。

注:在配置完成后,要确保代理服务器已启动,可通过Jmeter工具中的“Start”按钮来开启,或者通过命令行“jmeter -n -t /path/to/script.jmx”来启动。

3. 录制脚本

打开浏览器,访问需要测试的Web应用程序。Jmeter将记录所有的HTTP请求和响应。在录制测试期间,请注意避免浏览其它网站,因为这些请求也会被记录下来,与当前所需的脚本无关。

4. 查看并编辑脚本

打开Jmeter的“Recording Controller”,可看到已经录制到的请求和相关信息。可以对请求进行编辑,例如添加断言、修改请求头等。编辑完成后,可保存测试脚本,以备后续使用。

<RecordingController guiclass="RecordController" testclass="RecordingController" testname="Test" enabled="true">
  <boolProp name="gui.recording&controller.disabled">false</boolProp>
  <stringProp name="TestPlan.comments"></stringProp>
  <boolProp name="TestPlan.functional_mode">false</boolProp>
  <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
  <elementProp name="HTTPsampler.HTTPsampler-Proxy" elementType="HTTPSamplerProxy" guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" enabled="true">
    <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
    <elementProp name="HTTPArgument.paramstyle" elementType="HTTPArgument"></elementProp>
    <elementProp name="HTTPSampler.method">
      <stringProp name="HTTPSampler.method">POST</stringProp>
    </elementProp>
    <elementProp name="HTTPSampler.follow_redirects">true</elementProp>
    <elementProp name="HTTPSampler.auto_redirects">false</elementProp>
    <elementProp name="HTTPSampler.use_keepalive">true</elementProp>
    <elementProp name="HTTPSampler.DO_MULTIPART_POST">false</elementProp>
    <elementProp name="HTTPSampler.monitor">false</elementProp>
    <elementProp name="HTTPSampler.embedded_url_re"></elementProp>
    <elementProp name="HTTPSampler.ignore_failed_embedded_resources">false</elementProp>
    <elementProp name="HTTPSampler.useMultipartForPost">false</elementProp>
    <elementProp name="HTTPSampler.connect_timeout"></elementProp>
    <elementProp name="HTTPSampler.response_timeout"></elementProp>
    <elementProp name="HTTPSampler.protocol">
      <stringProp name="http.protocol.version">HTTP/1.1</stringProp>
    </elementProp>
    &lt>...
  </elementProp>
</RecordingController>

三、录制脚本的注意事项

在使用Jmeter录制脚本时,需要注意以下事项:

1. 避免浏览其它网站

在录制测试期间,要避免在浏览器中访问其它网站。因为这些请求也会被记录下来,与当前所需的脚本无关。

2. 检查测试脚本的正确性

录制测试脚本后,要对其进行检查,确保没有错误和缺陷。可以使用Jmeter内置的调试工具,查看脚本中每个请求和响应之间的关系是否正确。

3. 添加断言和验证器

测试脚本中加入断言和验证器,可用于检查是否所有请求和响应都正确,包括HTTP代码、响应时间、响应内容等。这是测试脚本的基本要求,以便达到准确测试的目的。

4. 尽量避免不必要的处理

Jmeter的录制脚本会记录所有的HTTP请求和响应,包括一些不必要的请求,例如广告请求、跟踪请求等。这些请求需要在后续的编辑中删除,以避免影响测试结果。

5. 适时保存测试脚本

在录制过程中适时保存测试脚本,避免遗失重要的测试数据。同时也避免了在一次录制中测试脚本过于臃肿,难以管理的问题。

四、总结

本文详细介绍了使用Jmeter录制脚本的基本概念、使用方法以及注意事项。通过录制脚本,可以快速生成测试用例并进行性能测试。同时也需要注意脚本的准确性和可读性,在后续的测试中可以快速定位问题和改进。

原创文章,作者:EPHU,如若转载,请注明出处:https://www.506064.com/n/134520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EPHUEPHU
上一篇 2024-10-04 00:06
下一篇 2024-10-04 00:06

相关推荐

  • Python脚本控制其他软件

    Python作为一种简单易学、功能强大的脚本语言,具有广泛的应用领域,在自动化测试、Web开发、数据挖掘等领域都得到了广泛的应用。其中,Python脚本控制其他软件也是Python…

    编程 2025-04-29
  • Shell脚本与Python脚本的区别

    本文将从多个方面对Shell脚本与Python脚本的区别做详细的阐述。 一、语法差异 Shell脚本和Python脚本的语法存在明显差异。 Shell脚本是一种基于字符命令行的语言…

    编程 2025-04-29
  • Python自动化运维脚本

    Python自动化运维脚本是使用Python编写的代码,可以帮助管理员自动化执行繁琐、重复的操作任务。通过Python自动化运维脚本,管理员可以在更短的时间内完成工作,提高工作效率…

    编程 2025-04-28
  • 使用Python图书馆抢座脚本的完整步骤

    本文将从多个方面详细介绍如何使用Python编写图书馆的座位抢占脚本,并帮助您快速了解如何自动抢占图书馆的座位,并实现您的学习计划。 一、开发环境搭建 首先,我们需要安装Pytho…

    编程 2025-04-28
  • ArcGIS的Python脚本需要主函数吗?

    是的,ArcGIS的Python脚本需要主函数,主函数是Python脚本的入口和起点,没有主函数脚本无法运行。 一、主函数的作用 在Python脚本中,主函数是代码的入口,所有的代…

    编程 2025-04-28
  • Python监控脚本开发指南

    本文将为大家介绍Python编写监控脚本的方法和技巧,帮助大家更好地了解监控脚本在项目中的应用。 一、监控脚本概述 监控脚本可以作为一个重要的工具来监控服务器状态,包括CPU、内存…

    编程 2025-04-27
  • 如何使用JS调用Python脚本

    本文将详细介绍通过JS调用Python脚本的方法,包括使用Node.js、Python shell、child_process等三种方法,以及在Web应用中的应用。 一、使用Nod…

    编程 2025-04-27
  • Django项目中执行Python脚本

    本文将阐述在Django项目中如何执行Python脚本以及执行脚本的几种方式。 一、subprocess模块执行Python脚本 subprocess模块提供了一个简单的接口用于创…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25

发表回复

登录后才能评论