我目前工作的标杆,我做了一个RESTful服务,而这部分是确保它的次为一大阵的参数,合理数量的运行。例如,假设我有一个some_site.com/item?item_id=y
形式的RESTful API。在这种情况下,为了确保我的服务能够按照我希望的那样快速工作,我想为y逐个尝试许多值,最好来自某个文本文件。我无法想出任何在ab或httperf中执行此操作的方法。如果我有,我愿意使用不同的基准测试程序,但会更喜欢简单明了的东西。我想要做的看起来似乎非常标准,所以我猜必须已经有一个程序,它可以让我这样做,但谷歌搜索的一个小时左右的时间没有得到我的答复。想法?如何使用可变参数测试REST风格的服务?
1
A
回答
1
答案:Jmeter(这显然很棒)。 This faq解释了如何做到这一点。希望这可以帮助别人,因为它花了我一整天的时间寻找解决办法。
1
我刚刚在JMeter中使用JavaScript(通过BSF/Rhino)有一些很好的经验。
我在我的测试计划中放置了一个线程组,并在其下有两个元素“HTTP请求”采样器和'BSF预处理器'。
将BSF语言设置为'javascript',并将代码键入文本框或将其指向文件(使用完整路径或相对于JMeter进程的CWD)。
/* Since `Math.random()` gives us float, we use `java.util.Random()`
* see: http://docs.oracle.com/javase/7/docs/api/java/util/Random.html */
var Random = new Packages.java.util.Random();
var min = 10-1;
var max = 2;
var maxLines = (min)+Random.nextInt(max-min);
var s = '';
for (var d = 0; d <= maxLines; d++) {
s += d.toString()+','+Random.nextInt(1000).toString()+'\n';
}
// s => '0,312\n1,104\n2,608\n'
vars.put('PAYLOAD', s);
现在我可以在HTTP请求中引用${PAYLOAD}
!
您可以生成JSON,但您需要升级jakarta-jmeter-2.5.1/lib/js-1.6R5.jar
与最新版本Rhino以获得JSON.stringify
和JSON.parse
。这对我来说也很完美,尽管我认为我会在这里举一个简单的例子。
您也可以使用BSF预处理器来处理URL参数,只需在vars.put('X', 'some value')
中设置另一个变量并将其作为${X}
传递给请求参数即可。顺便说一下,
This blog post帮了很多忙。
相关问题
- 1. 使用PHPUnit测试REST风格的Web服务
- 2. 数据格式测试Spring Rest服务
- 3. 如何使用XMLHttpRequest将参数从javascript传递到REST风格的Web服务
- 4. 测试REST风格的JSON Grails的web服务
- 5. 了解REST风格的Web服务压力测试结果
- 6. 测试Tornado Mongo REST风格的web服务
- 7. 春季REST风格的web服务测试
- 8. REST风格的Web服务在Netbeans 6.9中使用Mysql测试错误
- 9. 如何在Lotus Notes中使用REST风格的Web服务
- 10. 如何使用Meteor公开REST风格的Web服务
- 11. 如何使用jQuery AJAX发布到REST风格的Web服务?
- 12. 使用XMPP服务器设计REST风格的Web服务
- 13. 如何将对象数组作为参数传递给REST风格的服务
- 14. 如何使用Jersey(测试框架)将数据源依赖项注入REST风格的Web服务?
- 15. 使用arquillian测试REST Web服务
- 16. 如何加载测试REST WCF服务?
- 17. 如何在REST风格的Web服务URI中保护密码参数?
- 18. 如何在REST风格的Web服务中描述输入参数
- 19. CakePHP中的REST风格的Web服务
- 20. 如何响应REST风格的Web服务中的备用URI
- 21. 如何测试在SoapUI中使用JWT的REST服务?
- 22. 测试并试用REST Web服务
- 23. 如何使用REST风格的Web服务从BO获取报表数据?
- 24. 关于REST风格的Web服务
- 25. ASP.NET REST风格的Web服务
- 26. REST风格的Web服务GET文件
- 27. REST风格的服务契约
- 28. REST风格的服务问题
- 29. REST风格的服务:PUT或DELETE
- 30. GWT + Spring MVC(REST风格的Web服务)
你可以写这个工作一个简单的bash/PHP/Perl脚本和跟踪加载时间为每个呼叫。 – 2012-03-06 12:12:57
是的,但它似乎是如此普遍,我认为这已经是一种传统的解决方案。我想也许根本没有... – Eli 2012-03-06 15:26:21