用Java创建JMeter变量 - 终极指南
在Apache JMeter™中编写负载或功能测试涉及使用不同类型的变量。变量有多种用途,例如,在以下情况下:
- 正在测试的API或Web服务返回一个或多个值,并且必须将值数据与预期结果进行比较
- 正在测试的API或Web服务返回一个或多个值,并且必须在数据库中检查值数据
因此,应用变量的知识和技能是使用JMeter的基础。这篇博文将解释当您需要在测试中使用Java代码时如何在JMeter中创建变量。
要使用Java语言创建变量,可以使用支持BeanShell的任何标准JMeter元素。在这篇博文中,我们将使用JMeter 3.2和JSR223 Sampler元素,其中选择了java(BeanShell 2.0b5 / BeanShell Engine 1.0),如下所示:
Java中的任何变量都必须具有数据类型。数据类型是确定可能值的范围,对这些值的操作以及这些值如何存储在计算机内存中的特性。否则编译器将生成错误。
Java变量支持两种数据类型:简单(也称为原始)和引用数据。我们将涵盖两者。在下一篇博文中,我们将解释您可以使用哪些方法来处理这些变量。
当不需要指定数据类型时,JMeter允许使用非严格模式编写Java代码,或者在创建变量时使用严格模式编写Java代码(因为变量需要指定数据类型)。严格模式与在Java中创建和初始化变量的规则完全兼容。要启用严格模式,必须在脚本开头使用setStrictJava(true)命令:
原始数据类型的变量
有8种原始数据类型用于表示整数,小数和布尔值:int,short,long,byte,float,double,char,boolean。
具有整数数据类型的变量(int,short,long和byte)
整数类型是用于没有小数部分的整数值的数据类型。整数类型的数据包括以下类型:int,short,long和byte。这些类型允许我们表示正值和负值。
您可能会问为什么有这么多类型可用。为什么不能只创建一种类型?原因是当使用简单数据类型创建变量时,会消耗特定数量的计算机内存。因此,各种类型用于合理使用该存储器。
换句话说,如果占用计算机内存的4个字节的数据类型int实际上适合我们,并且我们使用占用8个字节的long类型,则计算机的内存使用效率低下。对于小型软件系统,这样的使用不会引起问题,但在大型软件系统中,这可能导致内存溢出和软件关闭。实际上,经常使用int数据类型。
下表显示了所需的内存量以及每种变量类型允许的值范围:
使用整数数据类型创建变量的示例如下图所示:
这是示例代码:
setStrictJava (true );int a = 2147483647 ; 短 b = 32767 ; 长 c = 9223372036854775807L ; 字节 d = 127 ;登录。info (a + “ - 它是int” ); 登录。info (b + “ - 很短” ); 登录。info (c + “ - 很长” ); 登录。info (d + “ - 它是字节” );
注意: 当创建与该类型的变量长在数值结束时,你必须指定升或大号。此功能与类型转换有关。
具有浮点类型的数字变量(浮点和双精度)
具有浮点类型的数字变量是具有整数和小数部分的变量。这些类型包括float和double。double类型变量的精度是float类型的两倍。下表显示了所需的内存量和变量类型的允许值。
使用简单数据类型创建变量的示例如下图所示:
这是示例代码:
setStrictJava (true );float a = 3.4028234f ; float b = 3.4028234 F; double c = 1.7976931348623157 ;登录。info (a + “ - 它是浮动的” ); 登录。info (b + “ - 它是浮动的” ); 登录。info (c + “ - 它是双倍的” );
注意: 当创建与数值的最后一个float类型的变量,你必须指定˚F或˚F。此功能与类型转换有关。
Char数据类型的变量(char)
具有char数据类型的变量用于以Unicode格式存储字符。这意味着您可以将变量分配给符号值和相应的Unicode数值。创建具有char类型的变量的示例如下图所示。
这是示例代码:
setStrictJava (true);int a = 2147483647; short b = 32767; long c = 9223372036854775807L; byte d = 127;log.info(a + " - It is int"); log.info(b + " - It is short"); log.info(c + " - It is long"); log.info(d + " - It is byte");
使用IntelliJ IDEA中的Java语言创建具有Char类型的变量:
IntelliJ IDEA中的示例代码:
public class Prim {public static void main(String[] args) {char a = 'N';char b = 78;System.out.println(a);System.out.println(b);} }
比较图像,您可以看到在JMeter中,您无法通过Unicode中的值创建char类型变量。Unicode是一种字符编码标准。无论程序如何,无论语言如何,该标准都可为任何角色提供唯一的代码,无论平台如何。
注意: 创建char类型变量时,请将值放在单引号中。
布尔数据类型的变量(布尔值)
与变量布尔数据类型是采用的值“假”与“真”的布尔变量。这用于计算逻辑表达式。下图显示了使用boolean类型创建变量的示例。
这是示例代码:
setStrictJava (true);boolean a = true; boolean b = false;log.info(a + " - It is boolean"); log.info(b + " - It is boolean");
注意:创建类型为boolean的变量时,该值不会用引号括起来
参考数据类型的变量
具有引用数据类型的变量是引用对象的变量。在Java中,所有类型与简单类型不同的变量都是具有引用数据类型的变量。它们是:String,BigInteger和BigDecimal。
字符串数据类型的变量(字符串)
具有String数据类型的变量是作为String类的实例的变量。这些变量是不可变的。在下图中指定了使用String类型创建变量的示例。
这是示例代码:
setStrictJava (true);String a = "It is string"; String b = new String("It is string");log.info(a); log.info(b);
注意: 使用String类型创建变量时,该值为双引号
BigInteger数据类型的变量
具有BigInteger数据类型的变量用于存储任意长度的整数值。与简单类型的变量相比,此类型对允许值没有限制。BigInteger类型的变量的值是不可变的,并且不会导致算术运算中的溢出。
下图显示了使用BigInteger类型创建变量的示例。
这是示例代码:
import java.math.BigInteger;setStrictJava (true);BigInteger a = new BigInteger("987654321678746474823764374637643764");log.info(a + " - It is BigInteger");
BigDecimal类型的变量
具有BigDecimal数据类型的变量用于存储任意长度的浮点值。与简单类型的变量相比,此类型对允许值没有限制。BigDecimal类型的变量的值是不可变的,并且不会导致算术运算中的溢出。此类型用于财务计算,其中准确性非常重要。创建类型为BigDecimal的变量的示例如下图所示。
这是示例代码:
import java.math.BigDecimal;setStrictJava (true );BigDecimal a = new BigDecimal(“1.987654321678746474823764374637643764” );登录。info (a + “ - 它是BigDecimal” );
原始包装
为了处理变量,无论是使用简单数据类型还是引用变量,都可以使用原始包装器。原语的包装用于不同的情况。一个常见的例子是在测试中使用数据结构,包括数组,列表,集合等。包装器是与基本类型类比的类,例如,对于int,有一个Integer类。下面是一个简单类型与类似类的对应关系表。
这是示例代码:
import java.lang.*;setStrictJava (true);Integer a = new Integer(23); Long b = new Long(23456); Float c = new Float(1.234); Double d = new Double(1.238); Short e = new Short("12345"); Boolean f = new Boolean(true); Character g = new Character('A'); Byte h = new Byte("17");log.info(a + " - It is Integer"); log.info(b + " - It is Long"); log.info(c + " - It is Float"); log.info(d + " - It is Double"); log.info(e + " - It is Short"); log.info(f + " - It is Boolean"); log.info(g + " - It is Character"); log.info(h + " - It is Byte");
而已!您已经完成了使用Java在JMeter中创建变量的综合指南。下次我们和我们一起学习不同的实施方法。
转载于:https://www.cnblogs.com/a00ium/p/10263752.html
用Java创建JMeter变量 - 终极指南相关推荐
- Oracle Java Mission Control:终极指南
"我们喜欢关注Mikhail Vorontsov的博客,并获得他对Java Performance相关问题的看法. 我们曾多次被问到Takipi的Java错误分析与Java Mission ...
- Java 8新特性终极指南
在Java Code Geeks上已经有大量的关于Java 8 的教程了,像玩转Java 8--lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Ja ...
- java创建计数器变量,用于检查变量(计数器)最大长度的Java方法
Kindly please anyone who knows is the any method to know what is the limit of length of a counter? D ...
- 终极指南:如何使用Visual Studio Code进行 Java 开发?
VS Code(Visual Studio Code)已成为多语言开发人员的首选文本编辑器. 大量Javascript.TypeScript.Go.Python 和其它语言的开发人员都在使用VS Co ...
- Java 8 特性 – 终极指南
第一次尝试翻译文章,有错误请见谅:) Java 8 特性 – 终极指南 (原文:http://www.javacodegeeks.com/2014/05/java-8-features-tutoria ...
- wordpress克隆站点_创建WordPress会员站点的终极指南
wordpress克隆站点 Do you want to build a membership website? For a long time, website owners relied sole ...
- linux中配置jmeter环境变量,linux java 和jmeter 环境变量配置文件笔记(原)
我在EC2 亚马逊的ubuntu系统下进行的配置,步骤如下(非常简单) 1.在/usr/local下分别新建java和jmeter文件夹,把下载的包进行解压 注:此处有坑,需注意ll -lht 查看 ...
- Java 注解指导手册 – 终极向导
转载自 Java 注解指导手册 – 终极向导 译文出处: Toien Liu 原文出处:Dani Buiza 编者的话:注解是java的一个主要特性且每个java开发者都应该知道如何使用它. 我 ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
最新文章
- freeRtos学习笔记 (6)软件定时器
- 简单记录js中的this关键字
- HDU 1690 Bus System
- 漫画:如何实现大整数相加
- Linux系统编程22:基础IO之掌握重定向的本质和使用dup2完成重定向
- 护士如何预防职业病:下肢静脉曲张-健康小常识
- code vs 集成tfs_10大Python集成开发环境和代码编辑器
- 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型
- WCF编程系列(六)以编程方式配置终结点
- C++高级进阶教程之STL 教程
- 第六、七章重点知识点总结
- ecplise git修改提交信息_Eclipse中Git的使用说明之一:使用Git上传新项目到远程仓库...
- 上海航信电子发票对接
- Julia : 用@async提升循环性能
- 墨者mysql注入_墨者靶场:SQL注入漏洞测试(参数加密) 使用sqlmap进行注入
- AWS EC2主机类型的区别和联系
- Minecraft Mod开发:1-配置工作环境
- harbor高可用部署
- NPR——卡通渲染(二)
- Windows脚本 同网段ip检测与持续ping包测试
热门文章
- mysql5_pn卸载_windows mySql(5.7.30) 卸载及重装
- 用python3做学生管理系统_详解用python实现基本的学生管理系统(文件存储版)(python3)...
- python返回错误提示_python 错误处理
- php程序员面试题(持续补充,偏中级面试题)
- Java程序员必看!java值类型和引用类型的区别
- 【高级Java架构师系统学习】java如何开发安卓软件
- ecilpse连接oracle ojdbc驱动
- python基础练习(七)
- 前端测试 jest 中判断函数由来
- Android 请求PHP接口, 返回json, 开头有问号, 解决方案