Loadster捕获规则未找到变量__RequestVerificationToken

问题描述

我正尝试用Loadster进行应用程序压力测试,但每个Post方法都会引发警告/错误__RequestVerificationToken为空或未定义,因为在Get方法中,它会警告有关捕获规则的变量__RequestVerificationToken不匹配。

这是在Get方法中进行捕获的认方式

enter image description here

我也尝试了这两种捕获方式来捕获

<input name="__RequestVerificationToken" type="hidden" value="

<input name="__RequestVerificationToken" value="

如您所见

enter image description here

但仍然有相同的警告。

顺便说一句,我确实在HTML文件中有此密钥。

enter image description here

有任何线索吗?

解决方法

在录制脚本之后,当发现在后续请求中从客户端向服务器重新生成了某些令牌后,Loadster会自动为其中一些服务器生成的令牌添加capturing rules,包括__RequestVerificationToken。它通过回溯记录的请求/响应图直到找到它们起源的方式来实现此目的。

当Loadster的记录器找到这些标记之一的匹配项时,它将在起源步骤(该值首先在响应中出现)上创建捕获器,并在中创建参数化变量>随后的步骤,将值返回给服务器。

要记住的重要一点是,捕获规则仅基于记录时可用的信息。如果回放时有些不同,捕获器可能无法找到值,并且您会收到此错误。

最可能的解释是,脚本中的较早步骤未能产生预期的状态,现在服务器实际上并未返回带有__RequestVerificationToken的页面。例如,先前在脚本中的登录可能会失败,而现在当您请求表单时,您会得到某种错误页面,而不是您期望的表单。

您可以使用脚本编辑器底部的请求标签在Loadster中对此进行确认。播放脚本后,所有请求和响应的树将显示在此部分中,您可以向下钻取以查看服务器返回的确切响应。您很可能在此响应中看不到__RequestVerificationToken(这就是捕获失败的原因),但您可能还会看到其他解释原因。您可能还需要在树中回溯到较早的请求/响应,以查看它偏离了常规。