问题标签 [flaui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
118 浏览

c# - 使用 c# 从我们位于主桌面的虚拟桌面捕获屏幕/Windows

我正在创建一个多桌面应用程序,它在 Windows 用户会话中创建和打开许多桌面,为此我使用 Win32 函数,如 CreateDesktop、SwitchDesktop、OpenDesktop..等。我在任务栏中创建了一个图标,用户可以选择其中一个桌面打开,一切正常,但是......

我想对每个桌面上正在发生的事情进行实时小图像预览,就像 Linux 一样……所以我想进行屏幕截图,并在控制面板中显示图像,以便用户知道想要的桌面转变 ...

问题是我尝试了很多东西,在桌面上发送 printscreen 键、GetDC、BitBlt、CreateCompatibleDC 等等……但总是出现黑色图像或无效句柄错误。只有当我在虚拟桌面时,图像才会显示一些东西。但在其他桌面上,总是黑屏。

因此,当我们在主桌面时,任何人都可以帮助我从虚拟桌面捕获图像。

0 投票
0 回答
27 浏览

.net - 仅在远程桌面窗口打开时在本地和 TeamCity 上通过易碎测试

我有一些 UI 测试(使用 FlaUI 编写)将在本地通过,但在 TeamCity 上会失败。当我尝试通过远程桌面查看在远程构建代理上运行的测试以查看错误时,我意识到如果远程桌面应用程序打开且未最小化,测试将通过。这只是我测试的一小部分,因为大多数测试在任何情况下都通过了。这可能是什么原因造成的?

0 投票
1 回答
161 浏览

c# - UI 自动化 - InvokePattern.Invoke() 阻塞执行,直到集成测试中的用户交互

编辑:我选择了使用FlaUI的路线。我已经更新了这个问题的标签以包含它,并将我的解决方案作为答案发布。

我正在为监视某些 Windows 窗体应用程序以查看这些应用程序是否正在运行或崩溃的应用程序编写一些集成测试。

要求之一是确定它是否显示错误窗口或信息窗口并采取相应措施。

例如:

为了模拟显示信息窗口的情况,我创建了一个测试应用程序(如上所示),其中包含一个按钮,单击该按钮会显示一些信息窗口。

这就是我的测试的样子:

invoke.Invoke();我对这个测试的问题是,在我手动单击显示的信息窗口上的“确定”之前,我无法越过这条线。

我什至尝试将事件处理程序附加到按钮来处理这个问题,但这并没有成功,因为我永远无法进入该OnInvoked处理程序方法:

我只需要这个测试是自动的,无需人工干预。

任何帮助/方向将不胜感激。

谢谢!

0 投票
0 回答
137 浏览

flaui - 如何使用 FlaUI 查找表格中的元素

我正在尝试使用 FlaUI 在表中查找元素并将其用作对表单名称的引用,因为它没有自动化 ID 或表单名称。

我已经尝试了下面的代码来查找元素,但它非常慢,我不确定它是否正确。

var regoElement = MTNKiosk.Instance.desktop .FindFirstDescendant(cf => cf.ByName(formName).And(cf.ByControlType(ControlType.DataItem))) .AsWindow();

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
134 浏览

windows - 某些元素在检查工具中显示时未被 Flaui 识别,并且未像在应用程序中那样读取 value 属性

尝试使用 FlaUI 自动化我的 Windows 应用程序并注意到某些组件无法识别。

  1. 启动应用程序会立即打开一个具有网格窗格的窗口。

  2. 打开的窗口有一个要从网格中选择的项目(从项目列表中)以继续进行。

  3. 但是 UIA3 和 UIA2 发现很难获取元素及其值。(见下文) 在此处输入图像描述

  4. 在上面的屏幕截图中,值应该是“要从列表中选择的项目”,但实际上是 [#30093]。问:如何从应用程序中获取实际值?

  5. 在 inspect.exe 中进行验证时,我注意到组件已显示,但 FlauInspect.exe 中未显示相同的组件(下面的屏幕)

  6. SSC 窗口有 7 个由 Inspect 显示的子项,而在 Flauinspect.exe 中它只显示一个按钮。Inspect.exe 在此处输入图像描述

Flauinspect.exe 在此处输入图像描述

0 投票
1 回答
184 浏览

c# - Flaui应用程序多次打开

我正在为我的应用程序进行 FlaUI 测试,但我遇到了应用程序启动问题。基类中的步骤看起来像应用程序启动,等待打开,最大化窗口,等待控件改变状态,然后它应该去测试执行。但取而代之的是,应用程序再启动 2 次,然后正确开始测试执行。我无法定位问题所在。您有任何想法或有类似的问题并知道如何解决吗?这是我的基类代码:

0 投票
1 回答
65 浏览

automation - 如何使用 UIA2 或 UIA3 访问 FlaUI 未读取的元素?

如何使用 UIA2 或 UIA3 访问/查找 FLAUI 未读取的元素?因为 FLAUIInspect 不会在窗口下显示任何可用元素(而 inspect.exe 显示所有可用元素) FindAll (Children/Descendants) 不会给出任何元素。

是否有使用 FLAUI 获取这些元素的方法?

在 FLAUI 中不读取窗口中的元素

0 投票
1 回答
47 浏览

c# - 不能在 C# 中使用 FlaUI 在 TreeItems 上使用 Expand 和 Collapse 方法或模式?

我正在尝试定义一个函数,该函数使用 FlaUI 按目标状态展开或折叠给定的 TreeItem,以测试 C# 中的程序。

我能够找到该元素,但我无法访问任何用于展开和折叠 TreeItem 元素的信息或方法。尝试设置currentPattern变量时出现以下错误。我也不能只在 TreeItem 上运行 Expand 和 Collapse 方法。

错误: FlaUI.Core.Exceptions.PatternNotSupportedException: 'The requested pattern 'ExpandCollapse [#10005]' is not supported'

我写的函数是:

我正在使用 FlaUI.Core 和 FlaUI.UIA2,版本 3.2.0。

0 投票
0 回答
34 浏览

automation - 无法检查 Windows 应用程序中的元素

我在java中使用winappdriver进行了一些自动化实验,我知道它可以自动化win32应用程序。所以我尝试在一个项目中使用它,显然首先我需要能够检查我的应用程序中的元素。我想使用的应用程序是 MOE(分子操作环境)。我尝试使用 inspect.exe、visual ui verify、windows 侦探、可访问性洞察力甚至 FlaUIinspect 检查其元素,但没有一个找不到 MOE 元素。我想知道也许这个应用程序没有使用 win32 框架,但是当我尝试检查“文件”元素时,这里是属性:

单击以查看 FlaUIinspect 应用程序中的属性图像

这是我想检查“新”元素的时候:

点击查看属性图片

我怎样才能自动化它?

顺便说一句,我不想​​使用 sikulix。分辨率更改时似乎无法正常工作

ps:我是java程序员所以请推荐java库

0 投票
0 回答
21 浏览

c# - 如何在 Windows 10/11 新的虚拟桌面功能中运行 UI 自动化/表面自动化脚本

我正在开发一个自动化脚本,它几乎没有基于窗口的应用程序作为底层应用程序,我正在使用 FlaUI。它在默认桌面中运行良好,但是当我在新的子虚拟桌面中运行我的脚本而不切换到它时,它会失败,我认为,我认为 UI 元素在非活动桌面中不可见。请任何人帮助我,我们如何使 UI 自动化在非活动桌面上工作。至少任何建议也会有所帮助。我在 Windows 7 中对其进行了测试(使用 CreateDesktop API 创建子桌面),还在 Win 10/11 的新虚拟桌面功能中进行了测试。但结果是一样的