Jmeter未在我的脚本中通过Microsoft身份验证以测试我的测试网站上的性能,显示访问被拒绝

时间:2019-02-08 06:42:29

标签: authentication jmeter

我的应用程序在登录之前已经对其进行了Microsoft身份验证,并且我已经记录了脚本,但是当我运行它时,它每次都向我显示访问被拒绝错误。参见所附图片。

我尝试过HTTP Authentication Manager并提供了登录用户名和密码。

enter image description here

3 个答案:

答案 0 :(得分:0)

您的应用程序很可能使用了OAuth,因此它既不是您真正可以记录和重放的内容,也不是可以使用HTTP Authorization Manager处理的东西。

根据您的应用程序设置,您将需要:

  1. 执行correlation个查询参数
  2. 或者通过Authorization Bearer传递相关的HTTP Header Manager令牌。获取令牌的过程可能会有所不同,具体取决于您的应用程序登录链的实现,请查看How to Run Performance Tests on OAuth Secured Apps with JMeter文章以获取有关在JMeter测试中绕过第三方提供程序登录挑战的一些想法。

答案 1 :(得分:0)

检查是否可以提供身份验证凭据作为请求的参数。

例如www.abc.com?username=abc&password=abc。用Jmeter复制相同的内容

答案 2 :(得分:0)

使用Fiddler(或者,如果您不介意手动搜索,也可以使用浏览器开发工具),然后通过浏览器手动登录。

检查提交给Microsoft的令牌/ GUID的请求,并搜索浏览器从何处获取这些字符串(它将位于先前请求的响应的主体之一或重定向URL中。在Fiddler中,可以在响应中使用查找功能,您必须手动找到浏览器开发工具)。

然后,您可以使用JMeter Regular Expression Extractor后处理器(或您喜欢的任何其他后处理器)将字符串从较早的请求中提取到变量中。 然后,您可以在登录请求中使用该变量的值(如果您将正则表达式后处理器与捕获组一起使用,则第一组的值将为${variable_g1}

您可能会从登录页面的HTML中提取一个伪造的值,该值需要与用户名和密码一起提交,然后在响应中您将获得一个cookie集和可能的JWT令牌在响应正文/ URL中。