【发布时间】:2018-03-19 19:52:51
【问题描述】:
在 Visual Studio 2017 中使用 Coded UI,如何从网页中的链接打开 pdf 文件?
这是我写的代码段:
// Click on "View our documents" link
BrowserWindow browser2 = BrowserWindow.Launch(url);
browser2.Maximized = true;
UITestControl rpQ3FinReport = new UITestControl(browser2);
rpQ3FinReport.TechnologyName = "Web";
rpQ3FinReport.SearchProperties.Add("ControlType", "Hyperlink");
rpQ3FinReport.SearchProperties.Add("InnerText", "2017 Q3 Financial Report");
Mouse.Click(rpQ3FinReport);
// Open the pdf report
UITestControl rpQ3FinReportPDFOpen = new UITestControl(browser2);
rpQ3FinReportPDFOpen.TechnologyName = "MSAA";
rpQ3FinReportPDFOpen.SearchProperties.Add("ControlType", "Button");
rpQ3FinReportPDFOpen.SearchProperties.Add("Name", "Open");
Mouse.Click(rpQ3FinReportPDFOpen);
Playback.Wait(3000);
rpQ3FinReport 的上述代码单击包含 PDF 文件的链接,但随后在网页的页脚中显示一条消息,显示打开或保存或取消 pdf 文件。
我找到了 Open 的对象属性信息并使用 rpQ3FinReportPDFOpen 打开 PDF,但 错误消息 指出:
消息:测试方法 HandCodingWebApp1.CUITHandCoding.StartURL 抛出 例外:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnHiddenControlException:
无法对隐藏控件执行“单击”。
其他详细信息:技术名称:'MSAA' 名称:'Open'
ControlType: '按钮' --->
System.Runtime.InteropServices.COMException:来自 HRESULT 的异常:
0xF004F002
我该如何解决这个问题?
我附上了网页的图片。请注意,我不得不从页面中删除一些可识别的片段。
谢谢。
【问题讨论】:
-
听起来不太平凡,但您似乎正在尝试单击一个不可见的按钮。可以发一下你的网页截图吗?
-
您好 Francesco,我已在主要问题中添加了图片。录制和播放选项允许我打开和关闭 PDF 文件,这可能会帮助我解决问题。
标签: c# pdf visual-studio-2017 automated-tests coded-ui-tests