我正在通过命令行运行jmeter测试计划,并且它的所有工作都正常,但是我想从jmeter返回两个值:一个布尔型字段,指示是否有错误被任何步骤抛出执行(本质上是合格/不合格指示符)以及在jMeter中生成并存储在用户定义的变量中的值。有没有可能做到这一点,如果是的话如何?JMeter命令行执行 - 返回状态
0
A
回答
0
在我伸出一个BeanShell的监听剧本我写的任何错误的状态到一个txt文件,以及我所需要的变量结束。然后我可以在我的批处理文件中解析这个txt文件来提取变量,并根据文件中是否存在“error”来检查通过/失败。每次执行后我都删除了txt文件,以便每次执行时都能生成一个新文件。
1
你可以看看jmeter maven插件如何提取数据以便在maven报告中使用。
1
您可以添加Beanshell Sampler作为测试(最后一步)的一部分。在这个测试步骤中,您可以将这些值写入文件。测试完成后,您可以将这些值存储在文件中。
让我知道如果你需要进一步的解释/例如
0
如果您希望控制台退出代码与测试结果匹配,解决方案将是测试“生成摘要结果”侦听器,如果发生任何错误。我发现这种方法here和here。
如果发生任何错误,您基本上会分析总结结果并相应地设置控制台退出代码。
grep的方法
直接使用grep
JMeter的呼叫,所描述here
#!/bin/bash
if java -jar ./apache-jmeter-2.9/bin/ApacheJMeter.jar -n -t x.jmx | grep "0
(0.00%)$"
then
echo Success
exit 0
else
echo Failure
exit 1
fi
的Python方法
或使用Python描述here
#!/usr/bin/bash
jmeter -n -t script.jmx | process_results.py
if [ $? -ne 0 ]; then
echo '[TEST FAILED]'
else
echo '[TEST SUCCESSFUL]'
fi
process_results.py(略作修改,它仅警报如果错误计数> 0)
#!/usr/bin/python
import re
import sys
for line in sys.stdin:
print line,
match = re.search('summary =[\s].*Err:[ ]{0,10}([1-9]\d{0,10})[ ].*',line)
print 'Check in line if Err: > 0 -> if so Error occured -> Test fails: '
print match
if match :
print "exit 1"
sys.exit(1)
print "nothing found - exit 0"
sys.exit(0)
相关问题
- 1. mysql命令行返回执行时间?
- 2. 执行命令行并返回命令输出
- 3. 如何返回执行命令
- 4. Applescript在执行shell脚本时返回“非零状态下退出的命令”
- 5. gradlew没有返回飞行用命令的错误状态
- 6. ant sshexec任务在执行命令执行时返回还是之前返回?
- 7. FTP ListDirectory命令返回状态码125
- 8. bash命令和返回状态
- 9. 命令模式返回状态
- 10. MySQL命令行执行
- 11. JMeter的命令行输出
- 12. Jmeter - 命令行中的url
- 13. Winform命令行参数返回可执行文件名
- 14. 为什么paramiko在执行无效命令时返回空行?
- 15. c#执行命令行并返回字符串
- 16. 执行sql命令
- 17. mysql返回单行和多行状态
- 18. PJL状态回读命令
- 19. 执行命令
- 20. 执行命令
- 21. 执行命令
- 22. 立即返回新行的命令行
- 23. 如何在执行命令之前回显命令行?
- 24. 从命令行远程运行Jmeter
- 25. 通过命令行运行jmeter
- 26. 如何通过执行外部命令来执行vim命令?
- 27. 从NSIS执行命令行命令
- 28. 命令行命令的执行时间
- 29. 从命令行执行Django Shell命令
- 30. 从Python执行命令行命令
听起来很酷(垫) – ant