ctx
对象(JMeterContext)
ctx
对象是 JMeter 中最强大的内置变量之一。它代表 JMeter 的上下文,提供对 JMeter 引擎、取样器、线程等的读写访问。在 JMeter 内部,ctx
映射为 org.apache.jmeter.threads.JMeterContext
类。由于 JMeterContext 不具有线程安全性,故仅适用于在单线程中使用。
以下是一些常用方法:
-
getCurrentSampler()
: 获取当前取样器。Sampler sampler = ctx.getCurrentSampler() log.info("当前取样器名称: " + sampler.getName())
-
getEngine()
: 获取 JMeter 引擎。StandardJMeterEngine engine = ctx.getEngine() log.info("JMeter 引擎: " + engine)
-
getPreviousResult()
: 获取上一个取样器的结果。SampleResult previousResult = ctx.getPreviousResult() log.info("上一个取样器的响应时间: " + previousResult.getTime())
-
getThread()
: 获取当前线程。JMeterThread thread = ctx.getThread() log.info("当前线程名称: " + thread.getThreadName())
-
getVariables()
: 获取当前线程的 JMeter 变量。JMeterVariables variables = ctx.getVariables() log.info("当前线程的变量: " + variables)
prev
对象(SampleResult)
prev
对象是SampleResult
类的一个实例,它是一个对象,可以存储上一个请求(或者说上一个取样器)的结果信息。prev
变量的作用域是当前线程组,并且只能在后置处理器(PostProcessor)或断言(Assertion)中使用。
-
getSampleLabel()
: 获取取样器标签。String label = prev.getSampleLabel() log.info("取样器标签: " + label)
-
getResponseData()
: 获取响应数据。byte[] responseData = prev.getResponseData() log.info("响应数据: " + new String(responseData))
-
getResponseCode()
: 获取响应代码。String responseCode = prev.getResponseCode() log.info("响应代码: " + responseCode)
-
getTime()
: 获取响应时间。long time = prev.getTime() log.info("响应时间: " + time + " ms")
-
getURL()
: 获取请求的 URL。URL url = prev.getURL() log.info("请求的 URL: " + url)
总结
以上就是小编今天为各位小伙伴准备的内容,如果你想了解更多关于Python自动化测试的知识和技巧,欢迎关注我。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】