Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 测试由脚本生成的登录受限文件的下载_C#_Angularjs_Selenium - Fatal编程技术网

C# 测试由脚本生成的登录受限文件的下载

C# 测试由脚本生成的登录受限文件的下载,c#,angularjs,selenium,C#,Angularjs,Selenium,我正在使用Selenium测试AngularJS站点 测试包括从站点下载文件 我最初的计划是使用Selenium直接下载文件(通过Selenium单击导出按钮,然后等待使用或类似工具下载文件)。然而,Selenium()明确反对这种做法 检查“导出”按钮会发现它调用了名为“导出”的函数: <button type="button" class="btn btn-warning" ng-click="export()">{{'export' | translate}}</butt

我正在使用Selenium测试AngularJS站点

测试包括从站点下载文件

我最初的计划是使用Selenium直接下载文件(通过Selenium单击导出按钮,然后等待使用或类似工具下载文件)。然而,Selenium()明确反对这种做法

检查“导出”按钮会发现它调用了名为“导出”的函数:

<button type="button" class="btn btn-warning" ng-click="export()">{{'export' | translate}}</button>
{{'export'| translate}
通过观察,“导出”按钮似乎创建了一个具有新GUID的文件服务器端,然后使用该文件开始下载

我的新计划是获得下载链接,然后使用或类似的方法下载。但是,该文件的链接只有在您登录时才有效,因此我还需要以某种方式模拟该链接

通过在每个请求上要求OAuth承载令牌来执行身份验证


我怎样才能找到文件的下载链接(假定它被函数遮挡),然后下载它(假定对文件的访问仅限于登录用户)?

这实际上取决于文件提供商使用的身份验证方案。如果只是基本身份验证,您可能可以在“”中附加凭据,或者给定文件下载URL。但这完全取决于请求身份验证的一方的配置。@Christine Good point。我已经将身份验证方案编辑到问题中。如果网站使用OAuth,您需要与网站进行某种交互,才能通过OAuth“握手”获得令牌。如果你能得到一个有效的Oauth令牌,你可能只需要向下载URL发出一个请求&将你的Oauth令牌附加到auth头中。我不明白为什么他们说点击链接是一种不好的做法。这正是你应该做的测试网站。你可能有一个bug,只有点击按钮才能暴露出来。