问题标签 [ui-automation]

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 投票
1 回答
671 浏览

wpf - System.Windows.Automation 命名空间的问题

我正在实现 WPF 应用程序,我想使用 System.Windows.Automation 命名空间从应用程序中捕获高亮文本。

问题是 Visual Studio 和 Expression 不能识别 AutomationElement、TreeScope、TextPattern 和红色下划线!!我在 Windows 7 上使用 Visual Studio 2010 Professional 和 Expression 4。在此先感谢 :)

0 投票
2 回答
4959 浏览

nunit - 在远程虚拟机上进行自动化 UI 测试的策略

我将 TeamCity 用于我的 CI 构建,并且我想设置第二个构建以在 Windows XP 和 Windows 7 虚拟机上运行自动化 UI 测试。

我想象构建工作如下:

  1. 编译、运行单元测试等。
  2. 使用 WiX 准备 MSI
  3. 将 MSI 复制到目标测试机器
  4. 远程执行 MSI
  5. 将测试工具代码复制到远程机器
  6. 运行测试
  7. 构建完成

自动化 UI 测试是使用 NUnit 编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它会出现在 TeamCity 构建日志中并且构建失败。我宁愿不在任一测试虚拟机上安装 VS 或 TeamCity 构建代理。

使用psexec.exe似乎大部分都应该是可能的。有没有我应该看的替代(最好是开源)工具?

0 投票
4 回答
6949 浏览

java - 用于 Java Swing 应用程序的 UI 自动化工具,具有记录和播放以及屏幕捕获功能

有人可以为 Java Swing 应用程序推荐一个 UI 自动化工具,该工具具有记录和播放以及屏幕捕获功能

0 投票
1 回答
2476 浏览

wpf - 如何在不破坏自动化测试的情况下为我的 TabControl 定义 ControlTemplate?

概括

在我的 WPF 应用程序中,我需要一个带有左侧按钮的 TabControl,因此我用我想要的布局定义了一个 ControlTemplate,它运行良好。

但是,我的测试人员的自动化测试工具看不到选项卡的任何内容,包括当前选择的选项卡。

问题:我怎样才能让我的 TabControl 可以被自动化测试工具测试,同时仍然定义 ControlTemplate?


细节

我正在使用 WPF 3.5 开发 WPF 应用程序我的测试人员正在使用一个名为QTP
的自动化测试工具他说他可以使用UISpy.exe 测试您可以看到的任何内容

  • 当我使用没有应用模板的直接 TabControl 时,UISpy 可以看到当前选定选项卡的内容。
  • 但是,当我使用 ContentTemplate 更改布局时(代码如下所示),UISpy 仍然可以看到选项卡标题......但它看不到内容。

示例 WPF 应用程序 (Xaml):

到目前为止我的搜索发现:

(经过搜索,我终于找到了答案,但花费的时间比我想象的要长,而且 AutomationPeer 的早期发现确实不正确,所以我把它写成一个 SO 问题和自我回答,以防它在未来对其他人有所帮助)

0 投票
1 回答
671 浏览

matlab - 使用 Matlab 实现 Windows 自动化

您好,我正在尝试使用 Matlab 通过 Windows 自动化控制 FastHenry2。我是那个话题的新手。如果我理解正确,我必须打开它:

ax=actxserver('FastHenry2.Document');

而不是用句柄运行我想要的功能?

但这不起作用。Matlab 找不到 Run 并使用 run 代替,这是一些与问题完全无关的内置函数。此外,此 UI 应支持的所有其他功能也不起作用。例如 FastHenry2.IsRunning 或 FastHenry2.GetInductance。所以我想我在整个 UI 处理上做错了。FastHenry 提供了一个使用 VBS 的示例脚本,我附在下面,因为它工作正常,FastHenry 应该直接安装在计算机上。我很感谢我能得到的每一个提示。

这么长的反应器

以下 VBS 示例工作正常

0 投票
1 回答
1331 浏览

c# - 使用 AutoIT 自动化远程窗口

我想在 C# 应用程序中使用 AutoIT 的 COM 接口来自动化远程机器上的窗口。我的代码如下所示:

问题是自动化器似乎没有识别远程机器上的窗口。有什么我做错了吗?这甚至可能吗?

0 投票
1 回答
1713 浏览

c# - PowerShell UIAutomation 脚本未返回预期结果

[我之前在 PowerShell Technet 论坛上发布过这个问题,但没有回复]

我正在尝试更改 Windows XP 快速启动设置(使用 PowerShell 启用/禁用它)。现有的 VBScript 解决方案依赖于 Registry 或 SendKeys,所以我认为这在 PowerShell 中通过 UIAutomation 是可行的。我的第一次尝试只是获取对表示需要更改的复选框的 AutomationElement 的引用(控制面板 -> 任务栏和开始菜单 -> 任务栏选项卡 -> 显示快速启动复选框)。这是脚本:

脚本不会出错,但会返回意外结果:

显示快速启动

控件类型.窗格

脚本将 AutomationElement 视为 ControlType.Pane,而不是 ControlType.CheckBox。等效的(至少我是这么认为的)C# 控制台应用程序返回预期结果:

显示快速启动

ControlType.CheckBox

我究竟做错了什么?PowerShell 脚本从 ISE(所以 V2)执行,并且脚本和 C# 程序都假定小程序已经打开/可见。(XP SP3)

0 投票
4 回答
10947 浏览

c# - 如何判断一个进程是否有图形界面?

我正在使用自动化来测试应用程序,但有时我想通过批处理文件启动应用程序。当我运行“process.WaitForInputIdle(100)”时出现错误:

“WaitForInputIdle 失败。这可能是因为进程没有图形界面。”

如何判断进程是否有图形界面?

0 投票
1 回答
1102 浏览

silverlight - 使用 Silverlight 控件的 UI 自动化记录屏幕交互

我正在尝试使用 UI 自动化在我的 Silverlight 应用程序中记录屏幕交互。我的控件设置有自动化对等体,但无法弄清楚如何跟踪这些控件。

对于我的 WPF 应用程序,我将获取AutomationElement.RootElement并向下导航到我的应用程序并在我感兴趣的控件上设置自动化事件处理程序。

我将如何为 Silverlight 应用程序做同样的事情?我希望屏幕录像机在我的应用程序运行时自动启动。屏幕录像机必须位于我的应用程序中。但是System.Windows.Automationsilverlight 命名空间没有AutomationElement类。那么我将如何在 Silverlight 中执行此操作?

谢谢希瓦普拉萨

0 投票
1 回答
1237 浏览

c# - 从窗口句柄获取自定义 .NET 类的组件类型

我需要查看另一个进程中单击的控件的组件类型,即已编程类的名称。我需要该类型,以便对单击的控件做出反应,然后执行一些自动化任务。现在我正在执行以下操作: 1. 我从 Win32 中的 FindWindow() 查找进程的主窗口句柄。2. 然后,我调用 EnumChildWindows(),同样来自 Win32,并获取主窗口句柄的所有子窗口句柄。3. 现在变得棘手了。当我调用 GetClassName() 时,它返回 WindowsForms10.STATIC.app [...],因为我试图读取的控件是自定义的。

如何使用 EnumChildWindows() 的窗口句柄获取单击控件的类型?我想要做的甚至可能吗?我一直在研究将 Win32 中的 SendMessage() 用于该过程,但似乎没有系统定义的消息可以提供帮助。