我正在为使用Borland C ++编写的Win32应用程序的QTP编写的现有测试寻找替代方案。 我的候选人是White,它基于UI自动化,因为它是原生解决方案, 我可以使用.NET / C#创建我的测试,并轻松地将它与nUnit和Hudson集成。
MS UI自动化 http://msdn.microsoft.com/en-us/library/ms747327.aspx
UI验证 http://uiautomationverify.codeplex.com
我使用UI Verify作为间谍来识别我想在测试中找到的对象的属性。 或多或少当我在间谍中看到某些东西时,我可以使用UI Automation / White找到它。 通常,识别对象没有太多问题 但是当我尝试搜索选项卡面板中包含的选项卡内的某些内容时 或者尝试查看菜单栏的MenuItems然后出现问题。
UI自动化/ UI验证工作有线。当我运行UI验证(1.0版本)时,我发现只有这样才能正确注册对象 当我设置“焦点跟踪”选项并单击目标对象或更改其上的键盘光标时。否则就找不到它们了。 UI Verifier可以显示我的“标签”面板的孩子。但我无法使用UI Automation / White找到它们。这是示例代码:
Tab tab = window.Get(); ITabPage tabPage = tab.SelectedTab; AutomationElementCollection newCol = tabPage.AutomationElement.FindAll(TreeScope.Descendants,Condition.TrueCondition); window.Get( “BUTTONNAME”);
即使间谍看到孩子们,这个集合也是空的。
http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214260 http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214192
要求: 1. Windows SDK 2. .NET 3.5 3.白色 4. UIA验证码
R上。
答案 0 :(得分:1)
你可以,R或YoYo,把你的表格编译或源代码(最好没有内部逻辑)放在文件共享的某个地方吗? 如果UIAVerify看到它,我从来没有见过使用UI自动化捕获的控件。我看到了这样的窗户,只能通过UIAVerify的焦点跟踪功能捕捉到。这种情况下,UI自动化搜索无法触及这样的窗口。
关于控件,您确定您遇到的控件是否具有Name属性?也许,这是一个只能通过ValuePattern获得的值,而不是Name?