首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防伪令牌与网络测试

防伪令牌与网络测试
EN

Stack Overflow用户
提问于 2013-11-14 22:15:55
回答 3查看 7.5K关注 0票数 6

我试图在VS2012中为MVC站点做一个web测试。其中一个场景是登录并查看产品列表,选择您想要的产品,然后继续执行到购买页面。

问题是,当运行web测试时,我会得到一个关于防伪造令牌的错误,并且它不匹配。

究竟如何使用防伪令牌进行测试?用户必须登录-将有成千上万的用户为负载测试(最终),但需要使它首先为一个用户工作。

登录视图/操作在视图中执行AntiForgeryToken操作,并对控制器进行验证。

如有任何建议和建议,敬请见谅。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-16 08:07:27

一旦您运行您的脚本,它失败,转到调用,继续一个失败。

  • 转到response选项卡
  • 在正文中,查找输入标记中的__RequestVerificationToken名称,并提取值属性之间的所有内容。
  • 选择值,右键单击>添加提取规则,然后按OK。
  • 您将找到一个提取规则文件夹,并在其下面,我们刚刚创建的提取规则。请随意重命名上下文参数名称。
  • 转到下一页,它应该是失败的页面,并找到名为"__RequestVerificationToken“的表单Post参数。查看它的属性
  • 将其绑定到先前创建的上下文参数名称。为此,请查看post参数的属性,并将"Value“设置为:

{上下文参数的名称}

(包括2倍花括号)

  • 按回车确认/保存

下一次您运行脚本时,所有功能都可以运行。

对我来说就是这样..。

票数 10
EN

Stack Overflow用户

发布于 2014-12-18 16:37:23

我看到了一个类似的问题。在录制web测试脚本之后,脚本将在登录时失败,其中包含以下消息:

提供的防伪造令牌是为用户“域\用户名”提供的,但当前用户是“.”。

解决方案是在测试属性中将PreAuthenticate属性设置为false。默认情况下,web测试将向服务器传递身份验证头,该服务器在生成令牌时使用。

票数 1
EN

Stack Overflow用户

发布于 2013-11-14 23:20:19

我不熟悉“VS2012中的web测试”,但据我所知,需要将令牌从浏览器发送回服务器。

我有硒网驱动程序的经验,并建议您使用它,因为它提供了一个API来与受支持的浏览器进行交互,就像实际用户所做的那样。

如果将WebDriver添加到测试项目中,则可以轻松开始使用Selenium Selenium WebDriver 2.37.0 NuGet软件包

硒WebDriver直接调用浏览器,使用每个浏览器对自动化的本机支持。这些直接调用是如何进行的,它们支持的功能取决于您使用的浏览器。 Selenium-WebDriver目前支持以下驱动程序:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19989573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档