我试图在VS2012中为MVC站点做一个web测试。其中一个场景是登录并查看产品列表,选择您想要的产品,然后继续执行到购买页面。
问题是,当运行web测试时,我会得到一个关于防伪造令牌的错误,并且它不匹配。
究竟如何使用防伪令牌进行测试?用户必须登录-将有成千上万的用户为负载测试(最终),但需要使它首先为一个用户工作。
登录视图/操作在视图中执行AntiForgeryToken操作,并对控制器进行验证。
如有任何建议和建议,敬请见谅。
发布于 2013-11-16 08:07:27
一旦您运行您的脚本,它失败,转到调用,继续一个失败。
{上下文参数的名称}
(包括2倍花括号)
下一次您运行脚本时,所有功能都可以运行。
对我来说就是这样..。
发布于 2014-12-18 16:37:23
我看到了一个类似的问题。在录制web测试脚本之后,脚本将在登录时失败,其中包含以下消息:
提供的防伪造令牌是为用户“域\用户名”提供的,但当前用户是“.”。
解决方案是在测试属性中将PreAuthenticate属性设置为false。默认情况下,web测试将向服务器传递身份验证头,该服务器在生成令牌时使用。
发布于 2013-11-14 23:20:19
我不熟悉“VS2012中的web测试”,但据我所知,“需要将令牌从浏览器发送回服务器。
我有硒网驱动程序的经验,并建议您使用它,因为它提供了一个API来与受支持的浏览器进行交互,就像实际用户所做的那样。
如果将WebDriver添加到测试项目中,则可以轻松开始使用Selenium Selenium WebDriver 2.37.0 NuGet软件包。
硒WebDriver直接调用浏览器,使用每个浏览器对自动化的本机支持。这些直接调用是如何进行的,它们支持的功能取决于您使用的浏览器。 Selenium-WebDriver目前支持以下驱动程序:
https://stackoverflow.com/questions/19989573
复制相似问题