【问题标题】:jmeter auth token issuejmeter 身份验证令牌问题
【发布时间】:2017-01-19 09:29:45
【问题描述】:

我有内部 Web 应用程序,我必须使用 Jmeter 对其进行测试。 该应用程序具有作为用户名、密码和身份验证令牌的安全保护。 身份验证令牌随着每个新会话而变化。我无法通过安全令牌。令牌包含在 URL 中,看起来像

http://mytraining.application.net/(S(vj1ckr0nqyvjq3blehcl2jwl))/ApplDefault.aspx?tabid=1. Cookies has look like
Cookie: AUTH_TOK_vj1ckr0nqyvjq3blehcl2jwl=vj1ckr0nqyvjq3blehcl2jwl; AUTH_TOK_syq3r1yu4equ515xzunjobhb=syq3r1yu4equ515xzunjobhb; 

所以,只有当我在 URL 中提交当前令牌时,我的 Jmeter 才能成功运行。 如果您有任何想法,请告诉我,如何避免每次都在所有地方(35)提交令牌。

[![在此处输入图片描述][1]][1]

My AUTH_TOKEN

Regular Expression

【问题讨论】:

    标签: login jmeter auth-token


    【解决方案1】:

    首先尝试使用 Dmitri 提到的 HTTP Cookie Manager。如果在标头中使用身份验证令牌,这将起作用,例如 Cookie 标头。 Jmeter自动从服务器设置的Set-Cookie Header中获取每个线程(添加HTTP Cookie Manager时)并存储在本地,以便在后续请求中使用。

    如果在其他地方(但不是标头)使用身份验证令牌,例如 URL 的一部分、请求正文等,那么我们应该使用 Regular Expression Extractor(后处理器)和 Regular Expressions Jmeter 关联动态值。一旦您将值捕获到 local_variable 中,我们将使用语法 ${ local_variable}。

    【讨论】:

    • 很遗憾,还是有问题。无法弄清楚我做错了什么。
    • 将正则表达式提取器保留为采样器下的子级,其中返回响应 AUTH_TOK。我可以知道您遇到的错误是什么吗?在附加的屏幕截图中,请求标头包含具有多个 AUTH_TOK 值的 Cookie 标头。您是否使用 RegEx 捕获所有这些?使用 [Debug Sampler[(jmeter.apache.org/usermanual/…) 了解正则表达式提取器捕获的值。比较浏览器中发送的 Cookie(使用任意浏览器->F12->网络选项卡)和使用 Jmeter 发送的 Cookie(查看结果树),请共享两个值。
    • 我可以看到 AUTH_TOKEN 在 Cookie 标头中使用,当您仅使用 HTTP Cookie Manager 时会出现什么结果(按照 Dmitri 提到的步骤操作后)?
    【解决方案2】:

    您似乎可以从 cookie 中计算出您的 Auth_TOK

    1. 将下一行添加到 user.properties 文件(位于 JMeter 的“bin”文件夹中

      CookieManager.save.cookies=true
      
    2. 重启 JMeter 以获取属性
    3. HTTP Cookie Manager 添加到您的测试计划中
    4. 现在您应该能够使用 Debug SamplerView Results Tree 侦听器组合查看存储为 JMeter Variables 的 Cookie,并将 Cookie 值用作 URL 的一部分

    我还建议您查看ASP.NET Login Testing with JMeter,因为我预计您将不得不处理一些其他动态参数。

    【讨论】:

    • 谢谢 Dmitri 和 Naveen。你的回答很有帮助,但我仍然有问题。稍后,我将添加更多详细信息。
    猜你喜欢
    • 2017-06-13
    • 2021-10-15
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多