问题标签 [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 回答
519 浏览

ui-automation - 最佳自动化框架设计

使用 Nunit 框架或创建 Visual Studio 测试项目哪一种是节省时间和有效自动化的最佳方式?

现在我正在使用 selenium IDE 编写我的应用程序中的最大部分以减少执行时间(我觉得 ide 执行比测试项目执行更快)使用 gotoif,while,regexp ..etc 并且只会使用 Selenium RC 来驱动数据IDE 未处理的方法和事件。

请建议我我的方式是否正确?因为我正处于自动化我的应用程序的开始阶段,询问这个问题以进行早期纠正会更好。

0 投票
3 回答
4601 浏览

wpf - WPF UI 自动化 - 当有很多元素时,AutomationElement.FindFirst 失败

我们为我们的 WPF 应用程序 (.NET 4) 进行了一些自动化 UI 测试;这些测试使用UI 自动化API。

我们调用AutomationElement.FindFirst来查找目标元素,然后与之交互。

示例(伪代码):

问题是,appWindow.FindFirst即使元素存在,有时也会失败并返回 null。我编写了一个辅助函数,它手动遍历 UI 自动化树并将其打印出来,并且在所有情况下都存在具有正确 ID 的元素。

这似乎与窗口中还显示了多少其他项目有关。如果没有其他项目,那么它总是会成功,但是当它旁边显示许多其他复杂的 UI 元素时,则查找失败。

似乎我们正在达到某种内部元素限制。我找不到任何自动化 API 提到的任何记录的元素限制 - 有没有办法解决这个问题?我在想我可能必须编写自己的实现,FindFirst树自己手动行走...据我所知,这应该可以工作,因为我的树打印机实用程序功能就是这样做的,没关系,但是它似乎这是不必要且缓慢的:-(

任何帮助将不胜感激

0 投票
1 回答
404 浏览

apache-flex - 在预加载器上启用自动化的 flex-application 的空对象引用

我们正在尝试自动化我们的 flex 应用程序。将自动化库添加到我们的项目后,我们得到以下异常:

我们使用 Flex 3.4 和 maven2 来构建应用程序。

有人对 flex-testing 有这个问题吗?

谢谢。

有没有人

0 投票
2 回答
48 浏览

debugging - 每当应用程序中出现特定文本时如何在应用程序中执行操作

我有一个应用程序,我想调试它的输入/输出行为,就像在使用 Selenium 的 Web 环境中一样。您知道任何易于使用的应用程序吗?

0 投票
2 回答
1387 浏览

c# - 为什么这个 .net UIAutomation 应用程序泄漏/池化?

我有一个使用 .net UIAutomation 的应用程序,它最终会耗尽内存并崩溃,只是监视正在显示和关闭的窗口。在 VB 中显示这一点似乎比在 C# 中更容易,但无论哪种方式都一样。它似乎是底层代理对象中的泄漏/池。大多数内存没有显示为 .net 内存使用。

关于如何让它停止泄漏并仍然监视 StructureChangedEvents 的任何想法?

0 投票
5 回答
5718 浏览

c# - .NET 中的 UI 测试自动化

我想知道如何用 C# 编写一个打开浏览器并访问 google.com 的程序(我很容易做到)

我想编写代码来自动将鼠标移动到输入文本字段,单击鼠标然后输入一些文本。将鼠标移动到搜索按钮并点击它。

我知道我应该处理 iAccessible 界面,但我没有找到任何有用的来源。

任何帮助将不胜感激。

0 投票
1 回答
2653 浏览

c# - 如何判断元素是否与 Microsoft UI 自动化中的 PropertyCondition 匹配?

我试图在 GridView 的特定行中找到一个 AutomationElement(因此有许多相同的元素)。我正在迭代行中的元素,我想使用匹配器来查看特定元素是否与我传递给它的条件匹配。我从简单的 PropertyConditions 开始。

这是我的测试:

这是代码:

不幸的是,测试失败了。根元素(桌面)的 ControlType 确实是 ControlType.Pane,但奇怪的是 PropertyCondition.Value 是“50033”。

关于如何在 FindFirst / FindAll 之外测试 PropertyCondition 的任何想法?

(我的解决方法是创建自己的条件类型并对其进行测试,但我想检查一下我没有误解某事/做某事愚蠢。)

0 投票
2 回答
2665 浏览

iphone - 我们可以在 iPhone 模拟器中使用 UI 自动化工具吗?

我一直在使用带有 Instruments 和 iPhone SDK 4.0 的新 UI 自动化工具,但到目前为止,我还无法让它在 iPhone Simulator 下运行。我已经尝试将目标设置到每个可能的位置——我的构建文件夹、~/Library/Application Support/iPhone Simulator 中的应用程序文件夹等——但是当我尝试运行它时收到一条错误消息:

-[UIATarget_0x5a1e3b0 frontMostApp] 中的意外错误,/SourceCache/UIAutomation_Sim/UIAutomation-37/Framework/UIATargetElements.m 第 437 行,

有没有人让这个工作?

0 投票
1 回答
1241 浏览

asp.net - 如何使用 Microsoft UI 自动化测试在 Asp.Net 页面上找到 Silvlerlight 对象?

我在托管 Silverlight xap 的 asp.net 页面上有一个对象(在我的特殊情况下,它位于 IFrame 中,但我也对常规对象感到好奇)。我可以在 UI Spy 中找到该元素,但名称只是说“Silverlight Control”。试图在我的自动化测试中发现 AutomationElement 不成功(每次都控制为空)。Silverlight 代码或 html 中的设置是否有帮助?如果同一页面上有多个 Silverlight 控件,如何区分?

用户界面间谍

编辑:添加图像,我还意识到该对象位于 IFrame 内。 UISpyImage - 标题名称已删除

0 投票
1 回答
1766 浏览

c# - GUI 测试自动化:使用 c# 通过 pinvoke 查找 WinForms 按钮

我正在用 C# 为应用程序构建一个小型 GUI 测试自动化工具。测试工具中的功能之一是关闭从测试应用程序弹出的对话框。

我遇到的麻烦是找到要单击的按钮而不给出完整的类名。我使用 FindWindowEx 方法来获取对话框和我想要单击的按钮。我知道按钮的标题,但麻烦的是我还需要为按钮指定类名。类名并不总是相同,但看起来像这样:“WindowsForms10.BUTTON.app.0.3ce0bb8”。例如,如果您在本地或通过单击一次启动应用程序,最后“3ce0bb8”的部分会有所不同。

所以,我的问题是:我怎样才能找到按钮,只需指定类的第一部分(始终相同),如“”WindowsForms10.BUTTON.app。”或者我可以用其他方式解决这个问题吗?

dll 导入如下所示:

尝试单击按钮时,我的代码如下所示: