使用 URL 启动 IE9 我发现启动了两个进程;父子进程。在 TestComplete 的 ObjectBrowser 中,两个进程都有一个 Page 节点和相关的子节点。
在我的 Silverlight AUT(被测应用程序)中有一个数据网格,我需要滚动它。在尝试滚动网格之前,我会检查滚动条。
但是,根据我使用的过程,我会得到不同的结果。
aqObject.IsSupported(
Sys.Process("iexplore", 1).Page("https://localhost/url/" ).Panel("silverlightContainer" ).Object(0 ).UIAObject("Popup" ).UIAObject("x" ).UIAObject("tab" ).UIAObject("TabItem", 2 ).UIAObject("StepList" )
, "VerticalScrollPercent")
aqObject.IsSupported(
Sys.Process("iexplore", 2).Page("https://localhost/url/" ).Panel("silverlightContainer" ).Object(0 ).UIAObject("Popup" ).UIAObject("x" ).UIAObject("tab" ).UIAObject("TabItem", 2 ).UIAObject("StepList" )
, "VerticalScrollPercent")
其中一个将返回 true,另一个将返回 false。Sys.Refresh
我刷新世界或控件的多少似乎无关紧要Sys.Process...UIAObject("StepList").Refresh
,一个总是失败而另一个通过。
这真的很奇怪,但如果它是可预测的,我可以解决它,但事实并非如此。有时父进程树有效,有时子进程树有效。
我的问题是..
- 到底是怎么回事?
- 我如何在启动应用程序时决定使用哪个流程进行自动化?
- 在不遇到这个问题的情况下,我还能如何实现滚动列表的目标(这样我就可以找到我想要的行)?