问题标签 [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.
wpf - 带有白色 UI 自动化的提琴手
我有非常有线的问题。
我有一个调用 Web 服务的 WPF 应用程序。
当我运行应用程序时,我可以看到通过提琴手与服务的通信。
我使用 thinkworks 的 White 框架为 WPF 应用程序编写了一些 UI 自动化测试。
当我使用 NUnit 运行测试时,测试将启动应用程序,但我看不到通过 fiddler 与 Web 服务的通信
有人知道吗?
silverlight - Silverlight 3 自动化用户培训而不是单元测试?
我们正在开发 Silverlight LOB 应用程序。如果用户能够单击页面顶部的帮助按钮,并让应用程序引导他们浏览页面的功能,就好像预先记录了动作和击键一样,这将是非常棒的。
我对任何 GUI 框架上的自动化都不太熟悉,但在谷歌上搜索它似乎大部分都是针对测试的。就我而言,我希望鼠标自然地在屏幕上移动,所以录制更有意义。我很确定我可以用非常详细的时间线来模拟这样的录音,但这对于编码来说是不切实际的。
是否可以记录这样的交互,然后让它纯粹在 SL 客户端上播放?我不介意是否必须使用外部工具进行测试,但培训课程需要完全在 Silverlight 中运行。
c# - 如果有的话,什么是好的 .NET Windows 自动化库?
我正在寻找一个可以在本机 .NET 代码中使用的库,就像任何 .NET 程序集一样。该库的目的必须是使 Windows 自动化(按一个按钮、选择一个窗口、发送密钥、记录和播放,诸如此类)。
因此:该库应该在 .NET 中本机使用,但自动化本身必须能够针对任何可以接收用户输入的本机或 .NET Windows 应用程序。
到目前为止的建议:
- benPearce 建议使用 AutoIt。它有一个 DLL,它是本机 Win32 但不是本机 .NET,如果不使用 .NET Interop 就无法使用。
- Chris Dunaway 建议使用 Global Mouse Keyboard Lib。这是最接近的,但不是自动化库。它只是帮助设置键盘和鼠标挂钩。
- pm100 建议使用 Microsoft 的 WPF UI Automation。这个非常好,虽然如果你在 .NET 2.0 中开发它不可用,并且它需要在系统上安装 WPF。但是,它可以在浏览器中自动执行从 Win32 应用程序到 HTML 的所有内容。
- JasonTrue 建议来自 ArtOfTest 的 WebAI。这是一个主要面向浏览器和 Web 应用程序的测试框架。不幸的是,它不太适合用于 Windows 自动化。
如果没有其他可用的东西,我可能会选择 Microsoft 的 UI 自动化,如果可能的话,将任何需要它的仍然在 .NET 2.0 中的项目升级到 .NET 3.5。但我希望有一个更广泛适用的自动化框架(2.0之前的.NET不需要支持)。
screen-scraping - 用于自动化 ncurses 类型 telnet 会话的跨平台解决方案
背景
当传统硬件无法在其他接口中提供简单的解决方案时,我在网络和电信方面的部分工作涉及自动化 telnet 会话。许多旧设备只能通过工艺端口(RS-232 串行端口)、SNMP 或 telnet 访问。有时 telnet 是访问特定信息的唯一方式,但是 telnet 被设计为人机界面,因此需要屏幕抓取。此外,还存在抓取屏幕的问题,其中仅更新部分以节省带宽(请参阅ncurses)。在我的工作中,我使用了 ActiveState Expect 和 Python telnet 库。
问题
哪些语言和库能够自动化 telnet 会话并具有以下要求:
- 适用于大型项目(例如,根据我的经验,Tcl 的扩展性似乎不如 Python,而且似乎已经过时)
- 跨平台(例如,Pexpect 在 Windows 上不起作用,Activestate Expect 在 Windows 上的行为不同,并且需要关闭较新机器上的 DEP)
- 能够筛选重新绘制屏幕部分的抓取会话(类似于命令行程序中 ncurses 的行为)
- 像啤酒一样免费!
更好的解决方案还包括以下内容:
- 易于再分发(例如,不需要在机器上安装一些巨大的运行时。)
- 也适用于 SSH、串行连接和其他命令行界面。
c# - c# ui 自动化
我正在尝试在 c# 中自动化 gui。这与浏览器自动化相同吗。如何启动 ui 自动化
wpf - WPF UI 自动化 - 不支持行?(或者我如何选择和取消选择整行)
注意:这不再是问题,.NET 4 内置的 DataGrid 解决了这个问题
我有一个使用 DataGrid 的 WPF 应用程序;我正在使用 WPF ui 自动化 API 为其编写一些自动化测试。DataGrid 是 WPFToolkit 之一,我使用 .NET 3.5SP1 和 VS2008,并且数据网格启用了多选功能。
我的位置是从我的测试中可以找到数据网格,我可以使用该方法在网格中找到单个单元格GridPattern.GetItem
,并通过设置来选择它们SelectionItemPattern.Select
。方法
代码看起来有点像这样:
这似乎可行,但它只选择第一个单独的单元格,而不是整个表格行(有 10 列),但我不知道如何取消选择一个项目。我能找到的唯一看起来可能有效的方法是调用或相应SelectionItemPattern.AddToSelection()
的,但是当我执行其中任何一个时,会引发以下异常:itemPattern
RemoveFromSelection
潜在的根本问题似乎是(据我所知)WPF UI 自动化 API 没有网格行的概念,只有单元格。这似乎有些问题 - 这是对的吗?
旁注:我之前一直在使用 White UI 自动化框架 - 这不使用 UI 自动化来选择网格行,而是将鼠标移动到行位置并单击它 - 这导致我们的测试随机失败 - 这就是为什么他们'虽然使用鼠标进行选择?
.net - 您如何为 MS 编写一致的 UI 自动化?MSAA 和 UI 自动化似乎没有重叠
使用通用自动化工具,考虑从 Win32 消息挂钩转移到 .net UI 自动化,但是 UI 自动化的功能集并没有涵盖我们在 Win32 中拥有的所有功能,并且似乎仍然不支持 Windows 上的所有 GUI。
一个这样的例子是 Windows Live Messenger。
Windows Live messenger 2009 仍然使用旧的 DirectUIHwnd 来绘制 gui。这意味着您不能使用 windows 消息发送到控件,因为控件没有自己的 HWND。它似乎也击败了新的 .net UI 自动化框架,尽管文档似乎表明它可以加入UI 自动化和 Microsoft Active Accessibility文档中。查看MS Accessibility指向Active Accessibility 2.0 SDK Tools,它表明 MSAA 可以与内容交互。
是否有一些技巧可以让 UI 自动化似乎试图取代的旧 MSAA 技术真正与 UI 自动化一起工作?
与 Windows Live Messenger 不同,我宁愿没有多个解决方案尝试为 Windows 自动化相同的窗口,因为 Windows Live Messenger 中的每一种技术都是有效的并且可以工作。
silverlight - 来自silverlight的白色自动化气泡未处理异常
我正在使用白色自动化 API 来测试 silverlight 应用程序,但是当 silverlight 中发生未处理的异常时,我不知道如何将其报告回单元测试或检查白色 api 以查看是否存在异常. 有人有办法做到这一点吗?
silverlight - 自动化 SilverLight 应用程序的工具
我想在 Silverlight 中自动化应用程序 develoepd。你能告诉我是否有任何开源工具可用于自动化 SilverLight 应用程序。谢谢。