2010-09-22 154 views
0

我最近在Jmeter中记录了一个用作负载测试脚本的测试脚本(使用这个handy set of instructions。录制本身工作得很好,我甚至想出了如何获取和参数化会话id和时间戳。但是,如果我按照记录运行记录的步骤,其中一些不起作用 - 它们会生成“500 - 遇到的服务器和内部错误...嵌套的异常是java.lang.NullPointerException”失败的步骤是所有的Ajax调用填入侧边栏元素。如果我复制请求GET调用(Request选项卡,ViewResultsTree)并粘贴到浏览器中我得到确切同样的错误。我需要以不同的方式记录我的脚本,或手工编写Ajax调用?其他的,以前的步骤可以正常工作并发送预期的POST数据,所以它不是被测试的应用程序或被遗忘的代理设置。 .6.10需要调试记录的jmeter脚本

我如何能调试这任何建议,将不胜感激。

回答

0

这听起来像JMeter是不执行AJAX调用,这样就可以根据您的网站被罚款。你能简单地做一个HTTP请求来获取AJAX调用的页面吗?

我会推荐阅读this post,因为它看起来相当不错。

我见过造成了几件事情,情况:

  1. 一个页面需要加载和拍前失败的请求被缓存;
  2. 失败页面需要自动重定向才能正常工作;
  3. 的失败页面有子请求JMeter的失败记录。 Devs可以帮助解决这个问题。

希望这会有所帮助。

+0

原来Ajax请求电话都依赖于通常在浏览器缓存(而不是在JMeter的)会话信息,如会话ID。我将该参数添加到GET请求,现在一切都很开心。谢谢你的帮助! – Sabrina 2010-09-24 14:05:22

0

我做的第一件事就是确定显示java.lang.NullPointerException是在客户端(JMeter的),或者在服务器上发生的事情。如果它发生在JMeter中,那么比你的脚本或JMeter有什么错误。

但假设遇到你的服务器上的错误,然后寻找到异常的原因可能对什么是错与JMeter的发出的请求线索。你有权访问抛出异常的代码吗?

我还建议在比较与生成错误的请求记录的请求。您可能需要确定请求的哪些部分是特定于会话的,并确保这些字段正确填充。