使用 TestStack.White 查找 VB6 控件

Posted

技术标签:

【中文标题】使用 TestStack.White 查找 VB6 控件【英文标题】:Finding a VB6 control using TestStack.White 【发布时间】:2015-04-29 15:31:41 【问题描述】:

我正在使用 TestStack.White 从一个用 VB6 编写的旧应用程序中读取列表。我能够找到对列表的引用,但 TestStack.White 没有看到列表中的值。

当我使用 Spy++ 或 Visual UI 自动化验证 ID 为 15、14、16、12、11、10、8 等的窗格时,列会突出显示,而不是实际的文本框。你可以看到这个应用截图。

有人对我如何从列表中获取值有任何建议吗?

提前致谢。

            TestStack.White.UIItems.Panel grid = searchform.Get<TestStack.White.UIItems.Panel>( TestStack.White.UIItems.Finders.SearchCriteria.ByAutomationId( "7" ) );

            foreach ( TestStack.White.UIItems.GroupBox item in grid.Items )
            
                foreach ( var itemGroupBox in item.Items ) // item.Items is always empty
                
                    var tmp = itemGroupBox;
                
            

这是应用程序的屏幕截图。

Spy++ 截图

Visual UI 自动化验证的屏幕截图

【问题讨论】:

【参考方案1】:

尝试使用类似item.AutomationElement.GetCurrentPropertyValue(ValuePattern.ValueProperty)的东西

您是否可以从“检查”应用程序中发送带有网格单元属性的屏幕截图?

【讨论】:

我同意@Vlad Kostyukevich 最好从位于“C:\Program Files (x86)\Windows Kits\8.1\bin\x64\Inspect. exe"

以上是关于使用 TestStack.White 查找 VB6 控件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Teststack.white 自动化框架控制迷你窗口?

C# Teststack.White:有时无法找到按钮

如何使用TestStack.White模拟WPF中动态MenuItem的点击?

TestStack White - 从命令行运行测试

我似乎在 TestStack White 的 ListView.Row("Name", "Value") 方法中有一个错误

使用VB6.0查找数组索引