东莞网站建设市场分析,网络营销推广公司获客,华为手机应用引擎,wordpress雪人主题3、BeanShell
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法。
3.1、Jmeter中使用的BeanShell
在Jmeter中#xff0c;除了配置元件#xff0c;其他类型的元件中都有BeanShell。BeanShell 是一种完全符合Java语法规范的脚本语言,并且又拥…3、BeanShell
BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法。
3.1、Jmeter中使用的BeanShell
在Jmeter中除了配置元件其他类型的元件中都有BeanShell。BeanShell 是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法。Jmeter中包含如下BeanShell 定时器BeanShell Timer前置处理器BeanShell PreProcessor采样器BeanShell 取样器后置处理器BeanShell 后置处理程序断言BeanShell断言监听器BeanShell监听器
3.2、BeanShell 常用内置变量
3.2.1、log
作用用于日志记录示例
3.2.2、vars
对象介绍vars对象是JMeterVariables类的一个实例可以存储String或Object类型的数据作用域是当前线程组只有同一个线程组内的线程才能访问和修改同一个vars变量。如果不同的线程组需要共享数据就不能使用vars变量。
3.2.2.1、getThreadName()
方法声明public String getThreadName()作用获取当前运行线程名
3.2.2.2、getIteration()
方法声明public int getIteration()作用获取线程当前的迭代号示例
3.2.2.3、put()
方法声明public void put(String key, String value) 作用创建或更新字符串变量
3.2.2.4、get()
方法声明public String get(String key) 作用获取变量的值并将其转换为字符串若变量存在则将值转换为字符串否则返回null 示例
3.2.2.5、getObject()
方法声明public Object getObject(String key) 作用获取对象
3.2.2.6、putObject()
方法声明public void putObject(String key,Object value) 作用创建或更新一个对象 示例
3.2.2.7、remove()
方法声明public Object remove(String key) 作用删除变量并该变量值若变量不存在则返回null
3.2.3、props
props映射java.util的Properties类。是一个Hashtable类型的对象也可以存储String或Object类型的数据。所有的线程组都可以访问和修改同一个props变量。如果不同的线程组需要共享数据就可以使用props变量。vars是对变量进行读写操作 而props主要是对属性进行读写操作Jmeter的属性在文件jmeter.properties中定义
3.2.3.1、get()
方法声明public synchronized V get(Object key)功能获取属性值
3.2.3.2、put()
方法声明public synchronized V put(Object key)功能设置属性值示例1 示例2使用vars由于vars不能跨线程组在线程组1中put的值在线程组2中无法get到 示例3使用propsprops可以跨线程组使用线程组1中put的值在线程组2中可以使用
3.2.3.3、getProperty()
方法声明 public String getProperty(String key)public String getProperty(String key, String defaultValue)当key不存在则返回默认值 功能返回属性值示例
3.2.3.4、setProperty()
方法声明public Object setProperty(String key,String value)功能返回属性值示例
3.2.3.5、remove()
方法声明public synchronized V remove(Object key)作用删除一个变量并返回变量值若变量不存在则返回null示例
3.2.4、prev
提供对当前取样器结果的访问能力映射org.apache.jmeter.samplers的SampleResult类。
3.2.4.1、getThreadName()
方法声明public String getThreadName() 功能获取线程名同vars.getThreadName() 示例
3.2.4.2、getTime()
方法声明public long getTime()作用获取取样时间示例
3.2.4.3、getResponseCode()
方法声明public String getResponseCode()作用获取响应状态码示例
3.2.4.4、setResponseCodeOK()
方法声明public String getResponseCode()作用将响应码设置为200即使真实返回不为200也设置为200
3.2.4.5、setResponseCode()
方法声明public void setResponseCode(String code)作用将响应码设置为指定值
3.2.4.6、isResponseCodeOK()
方法声明public boolean isResponseCodeOK()作用判断响应码是否为200是则返回true否则返回false示例
3.2.4.7、getResponseMessage()
方法声明public String getResponseMessage()作用获取Response message示例
3.2.4.8、getSampleLabel()
方法声明public String getSampleLabel()作用获取取样器标签示例
3.2.4.9、getSampleLabel()
方法声明 public String getSampleLabel()public String getSampleLabel(boolean includeGroup)是否包含线程组名 作用获取取样器标签示例
3.2.4.10、getResponseDataAsString()
方法声明public String getResponseDataAsString()作用以字符串形式获取响应报文示例
3.2.4.11、getDataEncodingWithDefault()
方法声明public String getDataEncodingWithDefault()作用返回编码方式
3.2.4.12、setDataEncoding()
方法声明public void setDataEncoding(String dataEncoding)作用设置编码方式用于解决响应乱码示例
3.2.4.13、getRequestHeaders()
方法声明public String getRequestHeaders()作用获取请求头
3.2.4.14、getResponseHeaders()
方法声明public String getResponseHeaders()作用获取响应头示例
3.2.4.15、getContentType()
方法声明public String getContentType()作用获取响应头Content-Type字段示例
3.2.4.16、getStartTime()
方法声明public String getContentType()作用获取请求开始时间戳
3.2.4.17、getEndTime()
方法声明public String getContentType()作用获取请求结束时间戳示例
3.2.4.18、getUrlAsString()
方法声明public String getContentType()作用获取 URL 的 String 表示形式
3.2.5、ctx
ctx变量是JMeterContext类的一个实例该变量使用较少一般需要的功能在其他内置变量里都有提供以下示例中均使用该全局变量
3.2.5.1、getVariables()
方法声明public JMeterVariables getVariables()作用提供对当前线程的 JMeter 变量的访问。示例
3.2.5.2、getProperties()
方法声明public Properties getProperties()作用获取属性示例
3.2.5.3、getPreviousResult()
方法声明public SampleResult getPreviousResult()作用获取前一个取样器的结果相当于prev示例
3.2.5.4、getCurrentSampler()
方法声明public Sampler getCurrentSampler()作用获取当前取样器对象示例
3.2.5.5、getPreviousSampler()
方法声明public Sampler getPreviousSampler()作用获取前一个取样器对象示例
3.2.5.6、getThreadNum()
方法声明public int getThreadNum()作用获取当前线程号从0开始编号示例
3.2.5.7、getThread()
方法声明public JMeterThread getThread()作用获取线程对象示例
3.2.5.8、getThreadGroup()
方法声明public AbstractThreadGroup getThreadGroup()作用获取线程组对象示例
3.2.6、SamplerData
请求数据类型为byte []
3.2.7、LabelSampleLabel
类型为String示例
3.2.8、ResponseData
响应数据类型为byte []示例
3.2.9、ResponseCodeResponseMessage
类型为String示例
3.2.10、IsSuccess
表示sampler的成功或失败类型为boolean示例1 示例2
3.2.11、Failure和FailureMessage
Failure和FailureMessage是BeanShell Assertion组件独有的内置变量作用是设置当前sampler的测试结果成功或失败Failure的类型是booleanFailureMessage的类型是String。示例
3.2.12、Response
可以使用SampleResult类的方法示例