- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
JMeter 4.0 中非常直接的要求。在 jmeter 中运行简单的测试并在失败时发送电子邮件。所以我有这个:
>ThreadGroup
>Http Request
>Response Assertion
>Summary Report
>BeanShell Listener
>If Controller
>SMTP Sampler
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="4.0" jmeter="4.0 r1823414">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="AddressValidation Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">1</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
</ThreadGroup>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="AddressValidation Request" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{
"address": {
"address2": "1625",
"city": "austin",
"address1": "4701 Staggerbrush Rd",
"zip4": "",
"state": "tx",
"zip5": "78749"
}
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">localhost</stringProp>
<stringProp name="HTTPSampler.port">9095</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/address-standardization</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
<hashTree>
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
<collectionProp name="HeaderManager.headers">
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Content-Type</stringProp>
<stringProp name="Header.value">application/json</stringProp>
</elementProp>
</collectionProp>
</HeaderManager>
<hashTree/>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
<stringProp name="-1781066058">{"address":{"address1":"APT 1625","address2":"4701 STAGGERBRUSH RD","city":"AUSTIN","state":"TX","zip5":"78749","zip4":"1048"}}</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
<boolProp name="Assertion.assume_success">false</boolProp>
<intProp name="Assertion.test_type">16</intProp>
</ResponseAssertion>
<hashTree/>
</hashTree>
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="AddressValidation Response" enabled="true">
<boolProp name="ResultCollector.error_logging">true</boolProp>
<objProp>
<name>saveConfig</name>
<value class="SampleSaveConfiguration">
<time>true</time>
<latency>true</latency>
<timestamp>true</timestamp>
<success>true</success>
<label>true</label>
<code>true</code>
<message>true</message>
<threadName>true</threadName>
<dataType>true</dataType>
<encoding>false</encoding>
<assertions>true</assertions>
<subresults>true</subresults>
<responseData>false</responseData>
<samplerData>false</samplerData>
<xml>false</xml>
<fieldNames>false</fieldNames>
<responseHeaders>false</responseHeaders>
<requestHeaders>false</requestHeaders>
<responseDataOnError>false</responseDataOnError>
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
<assertionsResultsToSave>0</assertionsResultsToSave>
<bytes>true</bytes>
<sentBytes>true</sentBytes>
<threadCounts>true</threadCounts>
<idleTime>true</idleTime>
<connectTime>true</connectTime>
</value>
</objProp>
<stringProp name="filename">C:\test\reports\response_out.csv</stringProp>
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
<boolProp name="ResultCollector.error_logging">true</boolProp>
<objProp>
<name>saveConfig</name>
<value class="SampleSaveConfiguration">
<time>true</time>
<latency>false</latency>
<timestamp>true</timestamp>
<success>true</success>
<label>true</label>
<code>true</code>
<message>true</message>
<threadName>false</threadName>
<dataType>false</dataType>
<encoding>false</encoding>
<assertions>true</assertions>
<subresults>true</subresults>
<responseData>false</responseData>
<samplerData>false</samplerData>
<xml>false</xml>
<fieldNames>true</fieldNames>
<responseHeaders>false</responseHeaders>
<requestHeaders>false</requestHeaders>
<responseDataOnError>false</responseDataOnError>
<saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
<assertionsResultsToSave>0</assertionsResultsToSave>
<connectTime>true</connectTime>
</value>
</objProp>
<stringProp name="filename">C:\test\reports\AddressValidation.jtl</stringProp>
</ResultCollector>
<hashTree/>
<BeanShellListener guiclass="TestBeanGUI" testclass="BeanShellListener" testname="BeanShell Listener" enabled="true">
<stringProp name="filename"></stringProp>
<stringProp name="parameters"></stringProp>
<boolProp name="resetInterpreter">false</boolProp>
<stringProp name="script">log.debug( "should_be_false=" + !${JMeterThread.last_sample_ok} );
</stringProp>
</BeanShellListener>
<hashTree/>
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
<stringProp name="IfController.condition">!${JMeterThread.last_sample_ok}</stringProp>
<boolProp name="IfController.evaluateAll">true</boolProp>
<boolProp name="IfController.useExpression">true</boolProp>
</IfController>
<hashTree>
<SmtpSampler guiclass="SmtpSamplerGui" testclass="SmtpSampler" testname="SMTP Sampler" enabled="true">
<stringProp name="SMTPSampler.server">ezmail-out.xyz.com</stringProp>
<stringProp name="SMTPSampler.serverPort">25</stringProp>
<stringProp name="SMTPSampler.mailFrom">freddie_mercury@xyz.com</stringProp>
<stringProp name="SMTPSampler.replyTo"></stringProp>
<stringProp name="SMTPSampler.receiverTo">brian_may@xyz.com</stringProp>
<stringProp name="SMTPSampler.receiverCC"></stringProp>
<stringProp name="SMTPSampler.receiverBCC"></stringProp>
<stringProp name="SMTPSampler.subject">AddressValidation Test Result</stringProp>
<stringProp name="SMTPSampler.suppressSubject">false</stringProp>
<stringProp name="SMTPSampler.include_timestamp">true</stringProp>
<stringProp name="SMTPSampler.message"></stringProp>
<stringProp name="SMTPSampler.plainBody">false</stringProp>
<stringProp name="SMTPSampler.attachFile">C:\test\reports\AddressValidation.jtl</stringProp>
<stringProp name="SMTPSampler.useSSL">false</stringProp>
<stringProp name="SMTPSampler.useStartTLS">false</stringProp>
<stringProp name="SMTPSampler.trustAllCerts">false</stringProp>
<stringProp name="SMTPSampler.enforceStartTLS">false</stringProp>
<stringProp name="SMTPSampler.useLocalTrustStore">false</stringProp>
<stringProp name="SMTPSampler.trustStoreToUse"></stringProp>
<boolProp name="SMTPSampler.use_eml">false</boolProp>
<stringProp name="SMTPSampler.emlMessageToSend"></stringProp>
<stringProp name="SMTPSampler.useAuth">false</stringProp>
<stringProp name="SMTPSampler.password"></stringProp>
<stringProp name="SMTPSampler.username"></stringProp>
<stringProp name="SMTPSampler.messageSizeStatistics">false</stringProp>
<stringProp name="SMTPSampler.enableDebug">false</stringProp>
<collectionProp name="SMTPSampler.headerFields"/>
</SmtpSampler>
<hashTree/>
</hashTree>
</hashTree>
<PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">1</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
</PostThreadGroup>
<hashTree/>
</hashTree>
</hashTree>
</jmeterTestPlan>
最佳答案
嗯,这是因为此时您添加了 bool 运算符 !
,您的条件不能再被解释为变量表达式。相反,它需要使用语言(默认为 javascript)进行评估。
换句话说,如果你检查 Interpret Condition as Variable Expression
复选框,条件与词比较 true
- 就是这样!如果在前面加上感叹号,就会变成!true
并且会失败。
您有多种选择:
Interpret Condition as Variable Expression
,以便使用 JavaScript 评估该条件。但作为 documentation states ,这会导致性能损失。 ${JMeterThread.last_sample_ok}
true
或 false
.在 If Controller 中使用该变量。 关于JMeter 如果 Controller 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50417834/
我正在尝试使用 jmeter java api 创建一个 jmeter jmx 文件。这就是我所做的, gui.jmx 使用 jmeter gui 应用程序创建一个引用 jmx 文件,我可以与之进行比
我在我的脚本中使用时间戳作为值,以使其在每次迭代中保持唯一和可区分。我正在使用 ${__time(/1)} 函数并将其存储在事务 Controller 内的用户定义变量中,然后在其他事务和 json
我的 CSV 文件中有 50 条记录(行),我有 10 个相互依赖的线程组。 示例(我正在调用线程组 TH): TH1 |_some request |_fetching output value
我有一个带有 N 个采样器的 JMeter 脚本。我打算在两个采样器之间添加一个 1000 毫秒的恒定计时器。但是我注意到它在每个采样器之前延迟了 1000 毫秒。我正在使用 JMeter 2.13
我已经根据 guru99.com 中的教程安装了 jmeter,现在完全按照 https://www.guru99.com/jmeter-performance-testing.html 中的步骤进行
我正在 Web 应用程序上使用 Jmeter 2.10 运行负载测试。 我有一个带有查看结果树监听器的 HTTP 采样器,我在公司代理后面运行。 当我使用单个线程运行线程组时, org.apache.
任何人都可以请给我一个关于如何在 JMeter 中使用正则表达式的简单示例。 最佳答案 首先阅读手册:http://jmeter.apache.org/usermanual/component_ref
目前,我编写的所有 JMeter 脚本在我与一个用户一起运行时从未出现过任何错误。但是,当我添加更多(即 5)时,一两个最终会给我 401 Authorization Required 消息。我有两个
我对 5 个用户运行了一个总共 20 秒的测试计划,但我无法理解的是实际的加速期是什么。这是否意味着每个用户将获得 4 秒或 20 秒将总共用于 5 个用户? 如果情况 1 为真(每个用户 4 秒),
我需要对我开发的服务进行负载测试,但我需要发布到 Web 服务的数据有一些差异。 我已经使用 Http 请求设置了 Thread 并且我有我需要设置的参数,但是我看不到如何从请求到请求更改 HTTP
我正在运行我的负载测试 1 小时,在测试之间我希望一个场景以 15 分钟的固定间隔运行 1 分钟。 在 jmeter 中,目前我能够模拟除突发模式之外的所有其他场景。 如何将延迟保持 15 分钟并触发
我已经通过jmeter中的bean shell脚本进行了检查,但是我没有找到 任何示例,它在jmeter中如何有用以及以哪种方式。 采样器值等 谁能用示例解释Jmeter中的bean shell 脚本
我想获取当前日期和时间作为示例日期:2014年11月10日和上午8:30或下午6:00,并将其作为参数传递给我的Jmeter测试。可以帮助我做到这一点。 最佳答案 使用__time函数: $ {__
如果我们没有在“HTTP 请求”采样器中设置任何超时,任何人都可以帮助了解 JMeter 中的默认响应时间吗? 谢谢。 最佳答案 默认为0(无超时) 设置超时的推荐方法是使用 GUI。 如果由于某种原
我正在尝试在jmeter(最新版本)上使用beanshell,但是每次添加beanshell处理器(pre,pro或其他)时,都会出现此错误 ERROR - jmeter.util.BeanShell
我的测试计划中的请求使用授权 token ,我知道该 token 将在 1 小时内过期。我需要以某种方式每 59 分钟重新请求一次 token ,直到测试完成。有人可以建议最好的方法吗 - 看起来使用
我有需要加载属性文件并将 prop 值分配给 JMeter UDV 的情况。 我已经能够成功加载属性文件,但是我无法将 prop 值分配给 UDV 我尝试了以下方法: 加载包含键值的 prop 文件(
我创建了一个集合,只是与 Loop Count 和 Ramp Up 周期混淆了。 我有一个具有以下参数的测试集。 Threads = 30 Ramp Up Period = 30 L
我对 JMeter 非常陌生,但遇到了一个问题 - 如果我将 JMeter 与远程 Node.js 一起使用,我将无法获取 jmeter 日志。 我正在通过 Maven 插件启动 JMeter,命令如
我正在尝试使用 Recording Controller 设置 JMeter 负载测试。 这会导致 Web 浏览器将进行的所有调用重复 - 包括 css 文件、js 文件和图像。 假设 Web 浏览器
我是一名优秀的程序员,十分优秀!