0

我正在尝试使用 JMeter 在我的服务器中加载测试事务。我使用 Badboy 软件创建了脚本并尝试在 JMeter 上运行它,但它给了我一个内部服务器错误。

线程名称:线程组 1-1

Sample Start: 2017-08-04 17:33:21 SGT
Load time: 17 
Connect Time: 0 
Latency: 16 
Size in bytes: 477 Sent
bytes:0 
Headers size in bytes: 445 
Body size in bytes: 32 Sample
Count: 1 
Error Count: 1 
Data type ("text"|"bin"|""): text Response
code: 500 
Response message: Internal Server Error

响应标头:

HTTP/1.1 500 Internal Server Error 
Date: Fri, 04 Aug 2017 09:33:11 GMT
X-Powered-By: Servlet/3.0

$WSEP:

Content-Length: 26851 
Set-Cookie: oam.Flash.RENDERMAP.TOKEN=-iyyeawi7n; Path=/BelsizeWeb
Set-Cookie: oam.Flash.RENDERMAP.TOKEN=-iyyeawi7m; Path=/BelsizeWeb
Expires: Thu, 01 Dec 1994 16:00:00 GMT 
Cache-Control: no-cache="set-cookie,set-cookie2" 
Connection: close 
Content-Type: text/html; charset=UTF-8
Content-Language: en-US

HTTPSampleResult 字段:

ContentType: text/html; charset=UTF-8 
DataEncoding: UTF-8

我也尝试使用 blazemeter 记录软件,但即使没有服务器错误,我的服务器日志中也没有记录交易或登录。谢谢您的帮助

4

1 回答 1

0
  1. 根据HTTP 状态码 500 描述

    HTTP 500 Internal Server Error 服务器错误响应代码表示服务器遇到了阻止它完成请求的意外情况。

    此错误响应是通用的“包罗万象”响应。服务器管理员通常会记录错误响应,例如 500 状态代码以及有关请求的更多详细信息,以防止将来再次发生错误。

    因此,首先您需要检查您的应用程序日志,您很可能会从中获得更详细的信息。

  2. 查看Set-Cookie 标头

    Expires: Thu, 01 Dec 1994 16:00:00 GMT 
                         ^^^^ what?
    

    尝试将HTTP Cookie 管理器添加到您的测试计划并在user.properties文件中设置CookieManager.check.cookies=false属性

  3. 在大多数情况下,您不能只记录和回放现代 Web 应用程序的操作,因为它们广泛使用动态参数来进行客户端状态跟踪和安全原因。所以你需要像这样设计你的测试:

    • 打开登录页面(通常是 GET 请求)
    • 执行登录(通常是 POST 请求),提供凭据和上述提取的动态参数值

    该过程称为相关性,如果您正确实施它,您应该能够使用 JMeter 重播您的测试场景(使​​用View Results Tree 侦听器和 1 个虚拟用户来验证您的测试)

于 2017-08-07T04:00:44.187 回答