Next chapter: |usr_43.txt| Using filetypes

  • 一个 jmx 文件只包含一个接口,通用部分/复用部分可以用 Include Controller ,挺好的办法。以前的想法是直接通过 Threads 来管理 Cases ,看来还不如独立开来分文件更灵活。

  • @jxxgxldl 是的,我们的做法基本是一样的。

  • @jxxgxldl *.jtl 是默认的结果格式,默认也是 CSV 不是 XML,当然这个输出格式还是可以配置成 XML 的,在 nogui 下得到的结果是 jtl,当然你可以自己定义文件的扩展名为 CSV,实质是一样的,然后命令行分析。我在 linux 下测试出来都是几个 G 的 jtl,内容是 CSV 格式,然后命令行直接在服务器上面得到结果再拿到本机整理报告的。

    nogui 启动:($jmeter_jar 就是路径到 ApacheJMeter.jar,$jmx 就是测试脚本,$out_log 就是输出的 jtl 文件,$run_log 就是运行过程中的输出每 30 秒 Summary 的,2 个 IP 地址是远程 runner)

    java -jar $jmeter_jar -n -t $jmx -l $out_log -R 8.8.8.8,8.8.4.4 > $run_log &
    

    jtl 内容(也是可以配置的):

    ......
    1451271754342,1659,HTTP-Resuest,200,OK,Threads 1-65,text,true,272,200,200,1659
    1451271754331,1670,HTTP-Resuest,200,OK,Threads 1-43,text,true,272,200,200,1670
    1451271754331,1675,HTTP-Resuest,200,OK,Threads 1-57,text,true,272,200,200,1675
    1451271754331,1676,HTTP-Resuest,200,OK,Threads 1-22,text,true,272,200,200,1676
    1451271754385,1624,HTTP-Resuest,200,OK,Threads 1-71,text,true,272,200,200,1624
    ......
    
  • 至于测试结果分析生成,你可能需要 JMeterPluginsCMD Command Line Tool

    例如生成图片:

    java -jar CMDRunner.jar --tool Reporter --generate-png test.png --input-jtl results.jtl \
      --plugin-type ResponseTimesOverTime --width 800 --height 600
    

    生成 CSV 统计:

    java -jar CMDRunner.jar --tool Reporter --generate-csv test.csv \
      --input-jtl results.jtl --plugin-type ResponseTimesOverTime
    
  • 是啊,adb shell am force-stop <PACKAGE> 简单直接暴力

  • markdown: 怪我咯。语法插件的锅。

  • grep,awk,sed 都有 exe 版,而且不止这些。你可能需要 Cygwin

  • 对比另外一种测试方案:直接写工程在调用 SDK,并在工程中完成各项测试,我认为使用 RPC 方案可以实现数据分离,并且易于扩展,测试结果输出也可以更加灵活。如果使用 JMeter 来执行,还可方便一些不会编码的人来完成测试。未完待续

  • FAQ:

    1. 为什么选择 XML-RPC 而不是 JSON-RPC A: 我首先是准备使用 JSON-RPC 的,奈何它的 Server 端需要自己实现一个 HTTP Servlet。而且 Python 自带了 xmlrpc 库。

Next chapter: |usr_43.txt| Using filetypes