testing - 测试自动化 - Win32 应用程序 - 白色/UI 自动化 - 对象识别问题

标签 testing automation ui-automation white-framework

我正在为我用 Borland C++ 编写的 Win32 应用程序寻找用 QTP 编写的现有测试的替代方案。 我的候选人是基于 UI Automation 的 White,因为它是 native 解决方案, 我可以使用 .NET/C# 创建我的测试,并轻松地将它与 nUnit 和 Hudson 集成。

白色 http://white.codeplex.com

微软用户界面自动化 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 ,但集合还是空的。

  1. 你们中有没有人愿意与我分享一些使用 White/UI Automation 库的经验?
  2. 我想实现从 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验证码

  1. 对于 White/UI Automation,您有更好的替代方案吗?

R.

最佳答案

您,R 或 YoYo,能否将您的表单编译或源代码(最好没有内部逻辑)放在文件共享的某个地方? 如果 UIAVerify 看到它,我从未见过使用 UI Automation 无法捕获的控件。我看到了这样的窗口,只能通过 UIAVerify 的焦点跟踪功能捕捉到。在这种情况下,UI 自动化搜索无法访问这样的窗口。

关于控件,您确定您遇到的控件具有 Name 属性吗?也许,这是一个只能通过 ValuePattern 而非 Name 获得的值?

关于testing - 测试自动化 - Win32 应用程序 - 白色/UI 自动化 - 对象识别问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6215537/

相关文章:

automation - 哪个更适合网络测试?录音播放自动化或编码?

wpf - 获取 WPF 弹出窗口的 AutomationElement

node.js - cucumberjs、 Protractor 中的快速失败

.net-core - 与此项目不兼容的包类型 DotnetPlatform

ios - 单元测试,iOS,DTXProxyChannel 错误 1

javascript - 替代 PhantomJS 进行测试

ios - 寻找有关使用 Appium 自动化真实 iOS 设备的教程

java - 模拟网络服务

Laravel 5.8 .env.testing 文件不工作

java - 除非在 @Test 中声明驱动程序实例,否则无法使 Actions.class 方法工作