X-RequestDigest:在运行记录的SharePoint页面的Web测试时遇到错误



我已经成功地录制并重播了我的SharePoint WebTest,但是一两个星期后,当我在Visual Studio重播时,我会遇到'403禁止'错误。

我了解X-RequestDigest已过期的证书/令牌详细信息,需要在我的请求中对每次运行进行更新。但是,我在录制的Web测试中找不到前面的X-RequestDigest标题值。

我可以从响应标头中提取,但是我需要在响应之前将值绑定到请求吗?有人可以给我一个代码/方法,以从SharePoint页面中提取X-RequestDigest Header值并在我的Visual Studio WebTest中使用它?

回答您的问题可能会有所不同,取决于您使用的SharePoint版本。通常,可以从_api/contextInfo中提取x- requestDigest值,该值在您需要参数化的请求之前出现。这是一个JSON响应主体,看起来如下:

{" d":{" getContextWebInformation":{" __ ge Metadata":{" type":" sp.contextwebinformation"}," formdigeSttimeoutseconds":1800," 1800," formdigestValue" 5DBE8B9CBE6ED2A77EDCCF88CAA901790245D3E9B518FB31AA9B345B345B0E232C93CD39D4E12999999999999B741414,6 2017年6月10:26:21 -0000"," libraryVersion":" 16.0.5521.1202"," sitefullurl":" https://xxx.sharepoint.com"," supportedschemaversions":{" __ metaradata"("},"结果":[14.0.0.0"," 15.0.0.0"]}," webfullurl":" https://xxx.sharepoint.com/sample_site_site}}}}}

>

从这里您需要使用提取文本提取器提取" formDigestValue"值。设置开头:" formdigestvalue":"结束:"

如果您希望按照Adrianhhh的建议使用Fiddler,则可能还需要使用我们的自由压力timulus附加组件,该附加组件将自动创建所有提取器和参数,如下所述视觉策略 - 固定测试 - 播放 - 返回网络测试。您只需要记录测试方案,将其保存为网络测试,然后在Visual Studio中打开。这样,您就不必手动创建任何提取器和参数。

最新更新