【问题标题】:status code 500 internal server error in LoadRunnerLoadRunner 中的状态代码 500 内部服务器错误
【发布时间】:2013-09-03 12:13:01
【问题描述】:
我有一个需要使用 LoadRunner 进行负载测试的 Web 应用程序。当我使用 vugen 录制网站时,它运行良好并且没有任何应用程序错误。但是当我尝试重播脚本时,脚本在登录后失败,同时导航到下一页,比如 Transaction。在日志结束时,我收到错误:
Action.c(252): Error -26612: HTTP Status-Code=500 (Internal Server Error)
for "http://rob.com/common/transaction
请帮我解决这个错误。
【问题讨论】:
标签:
load-testing
loadrunner
【解决方案1】:
LoadRunner 会像您的浏览器一样生成 HTTP 请求,如果您使用浏览器访问该 URL,则会遇到相同的错误。错误代码 500 是一般服务器错误,在没有更好的情况下返回(返回更具体的错误)。
登录过程很可能需要某种形式的身份验证,通过使用某种形式的令牌来防止重放攻击。您可以使用 LoadRunner 中的 Correlations 捕获此令牌并按照服务器的预期重放它。 VuGen 中的 Correlation Studio 应该为您检测和识别令牌,但由于身份验证方法不同,有时无法自动执行此操作,您必须手动创建关联。有关如何执行此操作的更多详细信息,请参阅产品文档。如果您的网站可以在线公开,请发布其 URL,我会尝试在我的机器上记录脚本。
谢谢,
鲍里斯。
【解决方案2】:
最常见的原因
- 您没有检查每个请求以获取返回的有效结果,并使用 200 HTTP 状态作为假定的正确步骤,而不检查返回内容的内容。因此,当返回的数据不正确时,您不会分支代码来处理异常。假设您的业务流程偏离轨道并假设成功,再走一到两步,您将收到 500 条状态消息,表明 100% 的时间发生了断章取义的操作。
- 缺少动态元素。记录三遍。比较代码。解决不断变化的组件。