performance - JMeter:采样器结果中的 "Response code: 500, Response message: Internal Server Error"

标签 performance testing server jmeter response

我正在动态提取我的 asp.net 网站的所有动态值,但是,我可以在采样器结果中看到“响应代码:500,响应消息:内部服务器错误”。

下面是在树中查看结果的请求:

POST http://MyURL/MyPortal/login.aspx

POST data:
__VIEWSTATE=%2FwEPDwUKMTI3MjAzNjAzNGRkjr4joFF5LWOOmI2LfqKYaLCnJoWEEuersumW%2Fyg8oSE%3D&__EVENTVALIDATION=%2FwEdAAe%2FZNCyf7CfdyOuzLZ7mDoL9Tt6KoVd96dN6zOjIKoOlInkg%2Fut7Je4AtoEsfzZAOLszNp1xh91HdjgSkSmA8AOAmWyFUPYYwjYUgZAnHgtx2Vqz9dZFL0pGDKPfgeuicZtnfqjBya34OcE2Eru6nT4MwnrIcmty4bwVAU6VEb6qrGc%2BEe7Y58My78ZHzJqq0k%3D&txtUserID=1111111&txtPWD=ASDF&BtnSubmit=Submit&hdnE=5&hdnN=323&hdnD=173

Cookie Data:
ASP.NET_SessionId=e0ibh0ihceof54ulvhkx1

Request Headers:
Connection: keep-alive
Referer: http://MyURL/MyPortal/login.aspx
Accept-Language: en-US,en;q=0.5
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Length: 386

并且,响应代码是:

<!DOCTYPE html>
<html>
    <head>
        <title>Runtime Error</title>
        <meta name="viewport" content="width=device-width" />
        <style>
         body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
         p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
         b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
         H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
         H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
         pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
         .marker {font-weight: bold; color: black;text-decoration: none;}
         .version {color: gray;}
         .error {margin-bottom: 10px;}
         .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
         @media screen and (max-width: 639px) {
          pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
         }
         @media screen and (max-width: 479px) {
          pre { width: 280px; }
         }
        </style>
    </head>

    <body bgcolor="white">

            <span><H1>Server Error in '/MyPortal' Application.<hr width=100% size=1 color=silver></H1>

            <h2> <i>Runtime Error</i> </h2></span>

            <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">

            <b> Description: </b>An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
            <br><br>

            <b>Details:</b> To enable the details of this specific error message to be viewable on remote machines, please create a &lt;customErrors&gt; tag within a &quot;web.config&quot; configuration file located in the root directory of the current web application. This &lt;customErrors&gt; tag should then have its &quot;mode&quot; attribute set to &quot;Off&quot;.<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

&lt;!-- Web.Config Configuration File --&gt;

&lt;configuration&gt;
    &lt;system.web&gt;
        &lt;customErrors mode=&quot;Off&quot;/&gt;
    &lt;/system.web&gt;
&lt;/configuration&gt;</pre></code>

                  </td>
               </tr>
            </table>

            <br>

            <b>Notes:</b> The current error page you are seeing can be replaced by a custom error page by modifying the &quot;defaultRedirect&quot; attribute of the application&#39;s &lt;customErrors&gt; configuration tag to point to a custom error page URL.<br><br>

            <table width=100% bgcolor="#ffffcc">
               <tr>
                  <td>
                      <code><pre>

&lt;!-- Web.Config Configuration File --&gt;

&lt;configuration&gt;
    &lt;system.web&gt;
        &lt;customErrors mode=&quot;RemoteOnly&quot; defaultRedirect=&quot;mycustompage.htm&quot;/&gt;
    &lt;/system.web&gt;
&lt;/configuration&gt;</pre></code>

                  </td>
               </tr>
            </table>

            <br>

    </body>
</html>

最佳答案

您是否关联了 VIEWSTATEEVENTVALIDATION 参数?如果不是 - 你不能对它们进行硬编码。您需要按如下方式设计测试用例:

  • GET 登录页面请求(用户打开登录页面)
    • 将“VIEWSTATE”、“EVENTVALIDATION”和任何其他动态参数提取到 JMeter 变量中
  • POST 登录页面请求(用户输入凭据)
    • 提供先前提取的“VIEWSTATE”和“EVENTVALIDATION”变量值、登录名、密码和任何其他参数。

根据您的技能和响应的性质,您可以使用以下后处理器来提取动态值:

您还可以看到ASP.NET Login Testing with JMeter在 JMeter 中绕过 ASP.NET 应用程序中的登录挑战的端到端步骤指南。

关于performance - JMeter:采样器结果中的 "Response code: 500, Response message: Internal Server Error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32845986/

相关文章:

node.js - "Hello world"从 Chrome 而非 curl 测量时,Rust 网络服务器比 Node 慢

c++ - 如何在一台本地机器/主机上对简单的 tcp 客户端/服务器进行单元测试?

ios - 如何检查主机服务器是否支持 ResumeData

java - 为什么 java 代码缓存大小在增长?

performance - localhost Redis Db 的往返成本是多少?可以忽略吗?

performance - 对于那些使用 SubSonic 的人,您在大型应用程序中看到了什么样的性能?

testing - QA 如何在验证新产品特性和功能的同时验证现有产品功能是否仍在运行?

php - 如何使用 PHP 脚本测试 logstash

php - Nginx 与子位置

sql-server - powershell 从表中提取值