jmeter(二):jmeter组件总结,利用取样器中http发送请求

2023-10-17 01:04

本文主要是介绍jmeter(二):jmeter组件总结,利用取样器中http发送请求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

JMeter 的主要测试组件总结如下

1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器

2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的 请求内容在Sampler中定义,它被线程组包含。

3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。

4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可 以模拟复杂的请求序列。

5. 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题 域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常 有用的。

6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容

7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常 常用来修改请求的设置,后置处理器则常常用来处理响应的数据。

8. 定时器负责定义请求之间的延迟间隔。

9. 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响 应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同 类型的请求

同时,我也准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

Jmeter利用取样器中http发送请求

使用Jmeter发送HTTP请求

取样器是用来模拟用户操作,向服务器发送请求以及接收服务器的响应数 据的一类元件,其中HTTP请求取样器是用来模拟常用的http请求的

步骤如下:

步骤一:添加线程组

右击测试计划——添加——线程(用户)——线程组

如下图:

“线程组”的意思:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组 就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户  这些虚拟用户用来模拟访问被测系统

①:线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。

②:Ramp-Up时间(秒):虚拟用户增长时长。也就是说在规定时间内启动所有线程数

③:循环次数:该处设置一个虚拟用户做多少次的测试。默认为1,意味着一个虚拟用户做完一遍事情之后,该虚拟用户停止运行。如果选中“永远”,则意味着测试运行起来之后就根本停不下来了,除非你把它强制停止

步骤二:添加HTTP请求

右击线程组——添加——取样器——HTTP请求;如下图

基本界面选项介绍;如下

名称:本属性用于标识一个取样器,建议使用一个有意义的名称

注释:对于测试没有任何作用,仅用户记录用户可读的注释信息

协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File , 默认值为http

服务器名称或IP:HTTP请求发送的目标服务器名称或IP地址

端口号:目标服务器的端口号,默认值为80,https的端口为443

http请求:发送HTTP请求的方法,可用方法包括GET、POST等

路径:目标URL路径(不包括服务器地址和端口)/可以写完整路径,但不规范

内容编码:内容的编码方式,默认值为iso8859;一般都填入utf-8

自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 会自动重定向到新的页面,但是Jmeter是不记录重定向的过程内容。

跟随重定向:Http Request取样器的默认选项,当响应code是3xx时,自动跳转 到目标地址。与自动重定向不同,Jmeter会记录重定向过程中的所有请求响应, 在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记 录下来,此为默认选项

使用 keep Alive :当该选项被选中时,jmeter 和目标服务器之间使用 KeepAlive方式进行HTTP通信,默认选中。

对post使用multipart/from-data:当发送POST请求时,使用multipart/from-data 方法或者application/x-www-form-urlencoded方法发送,默认不选中。

与浏览器兼容的头:当勾选multipart/form-data时,勾选此项会截掉http请求头中 的Content-Type和Content-Transfer-Encoding,而只发送Content-Disposition部 分。

参数:可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对,此 时编码这个选项设置为UTF-8并勾选最好,防止参数值内含有ASCII Control Chars或者Non-ASCII characters或者其他符号导致乱码问题。

消息体数据:同请求一起发送的数据信息,这里可以支持多种数据格式,json、 xml等;

文件上传:同请求一起发送的文件信息,参数名称就是发送文件对应的参数, MINE Type为资源媒体类型

高级界面选项介绍

实现:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4

连接:连接超时时间设置,单位为毫秒

响应:响应等待超时时间设置,单位为毫秒

从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求 并获得响应的HTML文件内容后,还对该HTML进行解析 并获取HTML中包含的 所有资源(图片、flash等)

并行下载:设置是否使用自设资源池,勾选后可设置大小

数量:资源池大小,默认为6

网址必须匹配:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源

源地址:只用于http协议且Implementation为HttpClient4的情况,此属性用于启 用IP欺骗。会重写了这个http请求使用的默认本地IP地址。用于Jmeter主机具有 多个IP地址(即IP别名、网络接口、设备)的情况。该值可以是主机名、IP地址 或网络接口设备,如“ey0”或“l0”或“wlan0”。

代理服务器:代理服务器的相关配置信息

保存响应为MD5哈希:选中该项,在执行时仅记录服务端响应数据的MD5值, 而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以 减少取样器记录响应数据的开销

步骤三:添加http信息头管理器

在百度搜索上右击————添加——配置元件——添加http信息头管理,添加百度搜索的header头部信息

步骤四:添加察看结果树

在百度搜索上右击——添加——监听器——察看结果树

步骤五:点击运行

点击菜单栏中的三角图标开始运行,然后点击察看结果树,红色代表错误,绿色代表成功

Jmeter本篇总结 

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

这篇关于jmeter(二):jmeter组件总结,利用取样器中http发送请求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/221902

相关文章

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修