我正在为我用 Borland C++ 编写的 Win32 应用程序寻找用 QTP 编写的现有测试的替代方案。 我的候选人是基于 UI Automation 的 White,因为它是 native 解决方案, 我可以使用 .NET/C# 创建我的测试,并轻松地将它与 nUnit 和 Hudson 集成。
微软用户界面自动化 http://msdn.microsoft.com/en-us/library/ms747327.aspx
界面验证 http://uiautomationverify.codeplex.com
我使用 UI Verify 作为 spy 来识别我想在测试中找到的对象的属性。 当我在 spy 中看到某些东西时,或多或少,我可以使用 UI Automation/White 找到它。 一般来说,我在识别物体方面没有太大问题 但是当我尝试在选项卡面板中包含的选项卡内搜索某些内容时 或者尝试查看菜单栏的 MenuItems 然后出现问题。
UI 自动化/UI 验证工作有线。当我运行 UI Verify (1.0 version) 时,我看到只有这样才能正确注册对象 当我设置“焦点跟踪”选项并单击目标对象或更改它们上的键盘光标时。否则不可能找到他们。 UI Verifier 可以向我显示我的“选项卡”面板的子项。但我无法使用 UI Automation/White 找到它们。这是示例代码:
Tab tab = window.Get(); ITabPage tabPage = tab.SelectedTab; AutomationElementCollection newCol = tabPage.AutomationElement.FindAll(TreeScope.Descendants, Condition.TrueCondition); window.Get("按钮名称");
尽管 spy 看到了 children ,但集合还是空的。
- 你们中有没有人愿意与我分享一些使用 White/UI Automation 库的经验?
- 我想实现从 spy 到我的测试的跟踪功能。你能帮我吗?我正在尝试研究 UIA Verify spy 的代码。我认为有两个类负责捕获对象:FocusChangeListener 和 FocusTracer - 这是代码:
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验证码
- 对于 White/UI Automation,您有更好的替代方案吗?
R.
最佳答案
您,R 或 YoYo,能否将您的表单编译或源代码(最好没有内部逻辑)放在文件共享的某个地方? 如果 UIAVerify 看到它,我从未见过使用 UI Automation 无法捕获的控件。我看到了这样的窗口,只能通过 UIAVerify 的焦点跟踪功能捕捉到。在这种情况下,UI 自动化搜索无法访问这样的窗口。
关于控件,您确定您遇到的控件具有 Name 属性吗?也许,这是一个只能通过 ValuePattern 而非 Name 获得的值?
关于testing - 测试自动化 - Win32 应用程序 - 白色/UI 自动化 - 对象识别问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6215537/