【问题标题】:How can a webtest be made to accept file downloads?如何使 webtest 接受文件下载?
【发布时间】:2009-05-04 15:24:55
【问题描述】:

我正在使用 Visual Studio Team Foundation Server 2008 Team Suite 为网站创建 Web 测试。在某些页面上,响应是文件下载(通常是 PDF),我只需要测试响应是否返回正确的状态代码和内容类型,忽略正文。当我在 Visual Studio 中运行 webtest,或者使用 MSTest 运行编译后的测试并加载结果时,这些请求失败,导致整个 webtest 失败。

测试结果的网页浏览器标签有文字:

请求失败:无法从传输连接中读取数据:连接已关闭。

详细信息选项卡包含异常:

System.IO.IOException:无法从传输连接读取数据:连接已关闭。
   在 System.Net.ConnectStream.EndRead(IAsyncResult asyncResult)
   在 Microsoft.VisualStudio.TestTools.WebStress.DataCaptureStream.EndRead(IAsyncResult asyncResult)
   在 Microsoft.VisualStudio.TestTools.WebStress.WebTestTransaction.ReadResponse(IAsyncResult 结果)

“响应”选项卡显示成功响应,标头包括“HTTP/1.1 200 OK”和“Content-Type : application/pdf”,正文中包含 PDF 内容。

如何让 webtest 接受 PDF 或其他类型的文件来处理这些请求?

【问题讨论】:

  • .pdf 文件响应有多大?
  • 我希望通过在这里发表评论,这个问题会得到更多的曝光。我遇到的问题与 tspauld 几乎完全相同,只是响应内容是 application/zip 而不是 pdf。我尝试增加 WebTestRequest 的超时时间,并添加一个 PreRequest 事件来增加 ResponseBodyCaptureLimit 的大小。这些都没有改变问题,在发出请求后大约 4 秒响应失败。

标签: asp.net mstest webtest


【解决方案1】:

Visual Studio Team System 2008 SP1 中存在显示此类症状的错误。尝试为它安装热修复程序。更多细节在这里: http://kbalertz.com/972678/successfully-recorded-Visual-Studio-System-authentication-redirected-logon.aspx

【讨论】:

  • 这正是问题所在,Microsoft 的修补程序链接是support.microsoft.com/kb/972678,我几乎没有尝试就打折了,因为它谈到了身份验证问题。作为 SSRS 代表的下载部分,我没有考虑过事情,这将通过 cookie 维护身份验证,正如 bug 所暗示的那样。今天早上应用了补丁,现在网络测试运行良好。谢谢!
【解决方案2】:

老实说,这听起来像是一个浏览器问题,请使用 type/unknown 强制在客户端上另存为,而不是客户端的默认浏览器尝试显示它。

【讨论】:

  • 意识到这个答案已经过时了,但这不是浏览器问题。 Web 测试在 Visual Studio 或负载测试代理中运行,不涉及浏览器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
相关资源
最近更新 更多