录制脚本后某些 JMeter 采样器出现未经授权的错误

问题描述 投票:0回答:1

我是 JMeter 的新手。我一直担任 ServiceNow 测试人员,并被指示学习 JMeter 以对 SerivceNow 应用程序执行性能测试。我一直在我的 PDI 上练习它。我创建了一个新的目录项,该目录项在提交后触发批准请求,并在批准时触发目录任务。在 Jmeter 上,我使用其记录控制器记录了测试脚本。我介绍了最终用户登录 SP 门户、导航到目录项、插入详细信息并提交表单的步骤。我删除了不必要的采样器(除了 Google 或 SNOW PDU 域之外的任何域)。然后我使用 View Results in Tree 监听器运行录制的脚本。我观察到一些采样器出现故障。我还在响应标头中看到“未经授权”和“无缓存”错误。 PFA SS。请告诉我如何克服这些瓶颈。我真的很无知。

我还在响应标头中看到“未经授权”和“无缓存”的错误。为了排除故障,

  1. 我已将 Cookie 管理器添加到我的测试计划中,

  2. 我添加了一个授权管理器,放置基本 URL:http://localhost、用户名、密码、Mechanism=Basic

  3. 添加了 Beanshell 预处理器和脚本:

    import org.apache.commons.codec.binary.Base64; String username = vars.get("USERNAME"); String password = vars.get("PASSWORD"); String combineduserpass = username + ":" + password; byte\[\] encodedUsernamePassword = Base64.encodeBase64(combineduserpass.getBytes()); vars.put("base64HeaderValue",new String(encodedUsernamePassword));
    
  4. 添加了具有以下标题的标题管理器: 授权基本${base64HeaderValue} 内容类型 application/json

我仍然收到未经授权的错误。

jmeter performance-testing servicenow unauthorized
1个回答
0
投票

在大多数情况下,您不能在没有动态参数的事先相关的情况下仅重播录制的脚本。

出于安全原因或客户端状态跟踪,包括服务在内的现代 Web 应用程序现在依赖于动态值。您可以再次记录相同的场景并比较生成的 JMeter 脚本 - 所有不同的请求参数都会受到相关性的影响,您将需要:

  1. 使用合适的 JMeter 后处理器从之前的响应中提取它们
  2. 用后处理器中的变量替换记录的硬编码值

另请注意,有 JMeter Correlation Recorder 插件,它可以尝试自动检测和处理动态参数或让您定义自定义关联规则。

© www.soinside.com 2019 - 2024. All rights reserved.