gpt4 book ai didi

asp.net-mvc - 如何使用 JMeter 在登录页面的负载测试中传递参数

转载 作者:行者123 更新时间:2023-11-28 21:37:43 25 4
gpt4 key购买 nike

如何在使用 JMeter 和在 asp .net mvc 中开发的站点的登录页面的负载测试中传递参数:

enter image description here

这就是我正在尝试的。但无法找到一种方法来找到 _requestVerificationToken 以及如何设置 RememberMe。

在下面的视频中,作者使用了来自另一个请求的 token ——可能是在主页加载时。但是那个时候怎么设置token,我没看懂。 Here is the youtube video link

更新:

我终于可以发送带值的参数了。 http 请求如下所示: enter image description here

但响应显示以下错误:

    [HttpAntiForgeryException (0x80004005): The required anti-forgery cookie "__RequestVerificationToken" is not present.]
System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens(HttpContextBase httpContext, IIdentity identity, AntiForgeryToken sessionToken, AntiForgeryToken fieldToken) +459
System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext) +71
System.Web.Helpers.AntiForgery.Validate() +92
System.Web.Mvc.ValidateAntiForgeryTokenAttribute.OnAuthorization(AuthorizationContext filterContext) +18
System.Web.Mvc.ControllerActionInvoker.InvokeAuthorizationFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor) +97
System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__0(AsyncCallback asyncCallback, Object asyncState) +640
System.Web.Mvc.Async.WrappedAsyncResult`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +14
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +346
System.Web.Mvc.<>c.<BeginExecuteCore>b__152_0(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState) +27
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +494
System.Web.Mvc.<>c.<BeginExecute>b__151_1(AsyncCallback asyncCallback, Object callbackState, Controller controller) +16
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +20
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +403
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +16
System.Web.Mvc.<>c.<BeginProcessRequest>b__20_0(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState) +54
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +30
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +128
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +427
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +105
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +50
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +163

我正在通过变量从登录页面的 GET 调用设置 token 。而且我已经检查过,JMeter 调用中的两个 token 是相同的。

下面的StackOverflow问题也有同样的情况。但这对我没有帮助。 Here is the link

最佳答案

  1. 我希望 _requestVerificationToken 正在创建,或者换句话说,它是第一个登录请求的响应。如果是这种情况,请按照以下步骤操作。

使用正则表达式提取器从之前的响应中获取 Requestverificationtoken。像这样的东西

enter image description here

在这种情况下它的许可证 uuid(无论如何你不能使用这个正则表达式。你必须根据你从之前的请求中得到的响应创建你自己的。)

并且您可以在传递此 token 的下一个请求中使用变量名称

enter image description here

使用https://regex101.com/找出您的响应的正则表达式

  1. 如果 _requestVerificationToken 在第一个登录请求中发送。然后你就可以在jmeter中的http请求的参数字段中添加这个值。因此,一旦您对这个值进行硬编码,它将永远存在。但我怀疑它可能会在某个时间间隔内过期。因此,这不是在 jmeter 中配置的好习惯

关于asp.net-mvc - 如何使用 JMeter 在登录页面的负载测试中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56486205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com