JMeter(连载3)

简介: JMeter(连载3)

7. CSV Data Set Config


这个组件用于测试流程的参数化,参数化文件采用类似于CSV文件。如图16所示。通过菜单“Add->Config Element->CSVData Set Config”添加。


image.png

16 CSV Data Set Config


  • Filename:为参数化的文件名。
  • File encoding:文件的编码格式,通常情况下请输入utf-8
  • Variable Name(comma-delimited) :变量名称,输入分割符号,分割符号需要与Delimiter保持一致。
  • Ignore first line (only using if Variable Name is not empty) :是否忽略第一行。
  • Delimiter (use ‘\t’ for tab) :分隔符(‘\t’博阿斯TAB键)
  • Allow quoted data? :允许引号数据吗?
  • Recycle on EOF:到了文件尾处,是否循环读取参数。因为CSV Data Set Config一次读入一行,分割后存入若干变量交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入。


  • Stop thread on EOF:到了文件尾处,是否停止线程。
  • Sharing mode:共享模式,包括

Ø All threads:所有线程。

Ø Current thread group:当前线程组。

Ø Current thread:当前线程。


下面对Sharing mode做以下更详细介绍。如果测试计划中有线程组A、线程组BA组内有线程A1A2… An,线程组B内有线程B1B2…BnCSV Data Set Config放在线程组A的下级组织树,不管怎么设置Sharingmode,都只针对线程组A且取之情况一样:线程A1取第一行,线程A2取第二行。CSV Data Set Config放在测试计划下级组织树(与线程组并列),情况如下


lAll threads:测试计划中所有线程,线程组A、线程组B共用一个CSV文件,所取数据与线程实际执行顺序有关(先执行先取)。补充一点:线程组之间是并行执行,各线程实际执行时间根据Ramp-UP Period而来。若线程A、线程B均设置Ramp-Up Period2,取之情况是:线程A1取第1行,线程B1取第2行,线程A2取第3行,线程B2取第4行。


lCurrent thread group:取之情况是:线程A1取第1行,线程A2取第2行,线程B1取第1行,线程B2取第2行。(线程组之间互不影响)


lCurrent thread:当前线程。A1取第一行、A2取第一行;B1取第一行,B2取第一行(均取第一行)


下面是一个csv配置文件,文件内容为用户登录的用户名和密码参数文件,通过,隔开。


linda,uuubbg

cindy,123456

jerry,654321

susan,qwert

peter,zxcvb


设置完毕参数,在JMeter中获得参数的方法是${参数名},返回参数当前的值。


8. Response Assertion


发送完毕HTTP请求,接下来就是接受HTTP响应了,通过接受HTTP响应可以判断测试的结果是否正确。


JMeter中,断言分为以下十三种,它们分别是。

1ResponseAssertion:响应断言(判断返回内容中的内容)。

2JSONAssertion:检查json请求的断言。

3SizeAssertion:判断返回内容大小。

4JSR223 Assertion:sampler中的JSR223 sampler而使用的断言。

5XPATHAssertion:用来确定XML文档中某部分位置的语言,对返回信息为XPATH的数据类型进行断言。

6CompareAssertion:比较断言,针对断言进行字符串更换。

7DurationAssertion(持续时间断言):判断服务器响应时间。

8HTMLAssertion:检查返回内容的格式是否符合。

9MD5hexAssertion:针对参数类型为MD5加密的进行判断,MD5是一种消息摘要算法。

10SMIMEAssertion:针对使用多用途网际邮件扩充协议的信息进行断言。

11XML Assertion:判断返回结果是否和xml的格式即<>成对出现。

12XMl SchemaAssertion:xml概要断言。

13BeanshellAssertion:针对sampler中的Bean Shell sampler而使用的断言


其中Response Assertion是一个比较重要的断言,通过菜单“Add->Assertion->ResponseAssertion”添加。图17显示的即为Response Assertion界面。

 

image.png

17 Response Assertion


  •  Apply to部分中。

ØMain sample and sub-sample:作用于主main sample和子sub-sample

ØMain sample only:只作用于main sample

ØSub-samples only:只作用于sub-sample

ØJMeter Variable:作用于JMeter变量。


  •  Field部分中。

ØText Response:包含服务器的响应文本(body),不包括HTTP头。

ØResponse Code:响应码,如200

ØResponse Message:响应短语,如OK

ØResponse Headers:响应头。

ØRequest Headers:请求头。

ØURL SampledURL

ØDocument(text):通过Apache Tika追踪的各种各种类型文档的文本,比如PDFJPG,由于自身消耗资源比较大,一般不使用。

ØIgnore Status JMeter忽略Response CodeResponse Message

ØRequest Data:包含请求的文本(body),不包含HTTP头。


  •  匹配模式包括。

ØContains:包含,如果文本包含正则表达式模式,则返回TRUE(大小写不敏感)。

ØMatches:匹配,如果整个文本与正则表达式匹配,则返回TRUE(大小写不敏感)。

ØEquals:相等,如果整个文本与指定的字符串相等,则返回TRUE(不支持正则表达式且大小写敏感)。

ØSubString:如果文本包含指定的字符串,则返回TRUE(不支持正则表达式且大小写敏感)。

ØNot:用来反转检查结果,即不包含,不匹配返回TRUE

ØOr:或,当多个条件的时候,条件之间的关系是“或”,默认情况为“与”的关系。


9. 察看结果树


作为接口测试,做完设置操作以后,可以通过“察看结果树”和“Debug Sample”两个组件来进行调试。察看结果树通过菜单“Add->Listener->ViewResult Tree”添加。如图18所示。


image.png

18察看结果树


在结果树中。

  •  Sample result:返回结果的基本信息,下面以一个例子。


Thread Name: Thread Group 1-1
Sample Start: 2019-06-25 16:55:15 CST
Load time: 71
Connect Time: 0
Latency: 71
Size in bytes: 367
Sent bytes:0
Headers size in bytes: 367
Body size in bytes: 0
Sample Count: 1
Error Count: 0
Data type("text"|"bin"|""): text
Response code: 302
Response message: Found
HTTPSampleResult fields:
ContentType: text/html; charset=utf-8
DataEncoding: utf-8


  • Request分别显示的是发送头信息和发送主体信息。下面也是一个例子。

Ø发送主体。

GET http://127.0.0.1:8000/goods_view/

 

GET data:

 

 

Cookie Data:
csrftoken=NoLikcUB7LtIOp78giYXAGWXWqQBoKLWgxGrp7J7efSDfqdfxv8hSGhbrd3q8Dso;sessionid=s8blkr5y2ld82f9bqs9lpc4iwnmnkeh4
Ø发送头。
Accept: image/gif, image/jpeg, image/pjpeg,application/x-ms-application, application/xaml+xml, application/x-ms-xbap, */*
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64;Trident/7.0; rv:11.0) like Gecko
Connection: keep-alive
Accept-Language: zh-Hans-CN,zh-Hans;q=0.5


  •  ResponseData中显示的是响应头和响应体。响应体即为返回的HTTP代码或JSON代码。下面是一个响应头的例子。


HTTP/1.1 200 OK
Date: Tue, 25 Jun 2019 08:55:16 GMT
Server: WSGIServer/0.2 CPython/3.7.1
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
Vary: Cookie
Content-Length: 5405
Set-Cookie:csrftoken=NoLikcUB7LtIOp78giYXAGWXWqQBoKLWgxGrp7J7efSDfqdfxv8hSGhbrd3q8Dso;expires=Tue, 23 Jun 2020 08:55:16 GMT; Max-Age=31449600; Path=/; SameSite=Lax


星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net


顾翔凡言:    

   分子作布朗运动的原因是由于原子、基本粒子也在作布朗运动,所以根本就无法测准粒子的动量与位置。根据狭议相对论E=MC^2,质量与能量是物质的两个属性,基本粒子有质量,与作布朗运动产生能量是一致的。(大物体也在作布朗运动,比如弹球,但由于质量太大,运动范围太小,我们用肉眼看不到)

目录
相关文章
|
测试技术
JMeter 随机数生成器详细指南:利用 Random 和 UUID 实现
在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。
|
4月前
|
SQL 数据可视化 JavaScript
构建AI智能体:九十九、大模型性能评估技巧:Qwen1.5的完整测试框架与可视化分析
本文介绍了Qwen1.5-1.8B-Chat轻量级大模型的本地部署与评估框架。针对硬件资源有限的个人开发者,该模型仅需4GB内存即可在CPU环境流畅运行。通过构建完整的评估体系,文章详细测试了推理速度(4.09 tokens/s)、内存占用(7GB参数内存+2.4GB推理内存)等基础性能指标,并评估了中文理解(0.75/1.0)、知识准确性(0.67)、多轮对话连贯性(1.0/1.0)、创造性(0.78/1.0)和代码生成能力(0.9/1.0)。测试结果显示该模型在创意生成和中文理解方面表现突出
654 10
|
数据可视化 数据挖掘 项目管理
2024年办公协同软件最新排行榜:五款协同利器全方位测评
在数字化办公时代,协同软件成为提升工作效率、优化沟通和简化管理的重要工具。本文从功能特点、上手难度、性价比等角度,对五款热门办公协同软件——板栗看板、飞书、钉钉、Notion 和 Microsoft Teams 进行了深度测评,帮助企业和团队找到最适合自身需求的工具。
1315 3
|
机器学习/深度学习 人工智能 自然语言处理
注意力机制详解(一)
注意力机制是受人类认知过程启发的一种深度学习技术,它允许模型动态地聚焦于输入的不同部分,根据上下文分配“注意力”。这种机制最早在序列到序列模型中提出,解决了长距离依赖问题,增强了模型理解和处理复杂数据的能力。基本的注意力计算涉及查询(Q)、键(K)和值(V),通过不同方式(如点积、拼接等)计算相关性并应用softmax归一化,得到注意力权重,最后加权组合值向量得到输出。自注意力是注意力机制的一种形式,其中Q、K和V通常是相同的。在自然语言处理(NLP)中,注意力机制广泛应用在Transformer和预训练模型如BERT中,显著提升了模型的表现。
|
JSON API 开发者
淘宝商品销量数据接口:获取与利用全攻略
淘宝商品销量数据接口让开发者获取平台上商品的销量信息。首先,需在开放平台注册并创建应用;随后获取API密钥(appkey与appsecret),用于身份验证。参考官方文档了解接口详情,通过HTTP请求调用接口并设置参数如商品ID。接口返回JSON格式数据,需用编程语言解析提取销量数据。示例代码展示了如何使用Python和requests库调用接口及打印结果。使用时应遵守规定,避免违规行为,并关注接口更新。若无开发能力,可选用第三方服务但需谨慎评估。
1231 0
|
存储 Apache 索引
JMeter 后置处理器之正则表达式提取器详解
JMeter 后置处理器之正则表达式提取器详解
644 0
|
架构师 测试技术
为什么有了《技术协议》,还要《产品需求规格说明书》
为什么有了《技术协议》,还要《产品需求规格说明书》
|
编解码 缓存 前端开发
Web浏览器的兼容性测试需要考虑哪些测试点?
Web浏览器的兼容性测试需要考虑哪些测试点?
502 0
|
网络安全 Android开发
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
2023安卓逆向 -- 抓包环境设置(Charles+Postern)
744 0
Jmeter 的 Beanshell基本用法
Jmeter 的 Beanshell基本用法

热门文章

最新文章