2017-08-04 174 views
0

正在尝试使用JMeter在我的服务器中加载测试事务。 我使用Badboy软件创建了脚本,并试图在JMeter上运行它,但它给了我一个内部服务器错误。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记录软件,但即使没有服务器错误,我的服务器日志中也没有记录事务或登录。 感谢您的帮助

+0

内部服务器错误是从服务器来了,可从来没有你的测试场景“在JMeter中” 这可能意味着您的JMeter请求与服务器期望的不匹配(例如没有认证,乱序,缺少标题,荣体格式等)。所以你需要调试你的脚本,看看你发送错误。 –

回答

0
  1. 根据HTTP Status Code 500 description

    的HTTP 500内部服务器错误服务器错误响应代码表示的服务器遇到阻止其完成请求的意外情况。

    此错误响应是一个通用的“全部”响应。通常情况下,服务器管理员会记录诸如500状态码之类的错误响应,并提供有关请求的更多详细信息以防止未来再次发生错误。

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

  2. 展望Set-Cookie header

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

    尝试增加HTTP Cookie Manager到您的测试计划和设置CookieManager.check.cookies=false财产user.properties文件

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

    • 打开登录页面使用JMeter PostProcessors(通常是GET请求)
    • 进行登录(通常是POST请求)提供证书和上述提取的动态参数值

    该pro塞斯被称为correlation并给予你正确地执行它,你应该能够重播使用JMeter的(使用View Results Tree listener和1个虚拟用户验证测试)