首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以从Pane控件类型读取数据?

是否可以从Pane控件类型读取数据?
EN

Stack Overflow用户
提问于 2020-02-26 21:52:16
回答 2查看 460关注 0票数 1

我已经开始使用FlaUI来自动化我的胖客户端.net应用程序。应用程序是基于Windows窗体的。开始是好的,Login Form被识别出来了,我可以登录了,但在那之后出现了死胡同,我发现应用程序中几乎所有的东西都是作为Pane控件类型开发的。

因此,有网格、表格等,但当我使用Inspect.exe或FLAUInspect工具看到对象层次结构时,它们都显示为Pane类型。并且没有任何内容真正出现在其属性中,因此似乎没有任何内容可以读取。但在放弃之前,我只是想在这个论坛上与有经验的读者核实一下,看看是否真的有任何方法可以从Pane对象中获得数据。

请建议是否有任何方法,即使这意味着使用其他库,如UIAutomation,TestStack.White等。

更新:我现在对此知之甚少。因此,窗格中的对象是在syncfusion和devexpress中开发的。是否可以使用FlaUI、UIAutomation或TestStack.White等识别在syncfusion和devexpress中开发的对象?

EN

回答 2

Stack Overflow用户

发布于 2021-03-23 23:19:59

我不知道您是否已经尝试过以下步骤。您是否使用以下命令向xaml代码中的对象添加了automationId:

代码语言:javascript
复制
AutomationProperties.AutomationId="AnyID"

在测试代码中,首先初始化应用程序的主窗口。

代码语言:javascript
复制
MainWindow = fApplication.GetMainWindow(fAutomation, null)?.AsWindow()

在此之后,您可以通过自动‘s查找您的对象,如下所示:

代码语言:javascript
复制
MainWindow .FindFirstDescendant(cf => cf.ByAutomationId(AnyID))

我是这样做的,不需要知道我的应用程序的层次结构。也许这能行得通?

票数 0
EN

Stack Overflow用户

发布于 2021-04-07 22:06:52

目前大多数UI框架都完全支持UI自动化。因此,首先要确保您拥有最新版本的框架(syncfusion、devexpress)。此外,一些框架还提供了启用UI自动化的设置。与devexpress类似,您需要设置

代码语言:javascript
复制
ClearAutomationEventsHelper.IsEnabled = false;

在应用程序开始时进行测试,以便向FlaUI公开更多内容(如选项卡)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60415474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档