我已成功记录并重播我的 sharepoint webtest,但一两周后,当我在 Visual Studio 中重播它时,我收到“403 FORBIDDEN”错误。
我了解 X-RequestDigest 的证书/令牌详细信息已过期,需要在我的请求中的每次运行时进行更新。
但是,我无法在录制的 Web 测试中找到前面的 X-RequestDigest 标头值。
我可以从响应标头中提取内容,但我需要在响应之前将值绑定到请求?
有人可以给我一个代码/方法来从 Sharepoint 页面提取 X-RequestDigest 标头值并在我的 Visual Studio Webtest 中使用它吗?
您的问题的答案可能会有所不同,具体取决于您使用的 SharePoint 版本。通常,x-requestdigest 值可以从您需要参数化的请求之前出现的 _api/contextinfo 中提取。这是一个 json 响应正文,如下所示:
{“d”:{“GetContextWebInformation”:{“__metadata”:{“type”:“SP.ContextWebInformation”},“FormDigestTimeoutSeconds”:1800,“FormDigestValue”:“0x258D3700E8E516F8E320BAF6FEFDDC271C54C8C44A1E5DBE8B9CBE6ED2A77EDCC F88CAA901790245D3E9B518FB31AA9B345B0E232C93CD39D4E12999499B7414,6
2017 年 6 月 10:26:21
-0000","LibraryVersion":"16.0.5521.1202","SiteFullUrl":"https://xxx.sharepoint.com https://xxx.sharepoint.com","SupportedSchemaVersions":{"__metadata":{"type":"Collection(Edm.String)"},"结果":["14.0.0.0","15.0.0.0"]},"WebFullUrl":"https://xxx.sharepoint.com/Sample_Site https://xxx.sharepoint.com/Sample_Site"}}}
从这里,您需要使用提取文本提取器提取“FormDigestValue”值。设置开始于:“FormDigestValue”:“结束于:“
如果您希望按照 AdrianHHH 的建议使用 Fiddler,您可能还想使用我们的免费 StresStimulus 插件,它将自动创建所有提取器和参数,如下所述http://www.stresstimulus.com/blog/post/visual-studio-load-testing-fixing-playback-errors-in-web-tests http://www.stresstimulus.com/blog/post/visual-studio-load-testing-fixing-playback-errors-in-web-tests。您只需记录测试场景,将其保存为 Webtest 并在 Visual Studio 中打开。这样,您就不必手动创建任何提取器和参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)