用于基于 MFC 的 GUI 应用程序的免费自动化测试工具

2024-05-20

我是 Windows 开发和测试平台的新手。我正在开发一个基于 MFC 的 GUI 应用程序,并正在寻找有助于 UI 自动化测试的工具。我搜索时出现了一大堆工具,但大多数似乎都不支持MFC。

我考虑的选项是: A。编码 UI/ UI 自动化 - 看起来很合适,但在 Visual Studio Professional 2012(这是我的开发环境)中不受支持。 b. Google 测试 - 不支持 MFC? (如果您不这么认为,请分享任何指示) C。 TestStack White - 构建在 Coded UI 之上的开源工具,但似乎不再受到积极支持。找不到有关当前版本的任何文档或它是否仍然受到积极支持。 d.开发我自己的 TestInterface 并修改现有的 View/Window 类,如下所述:http://www.drdobbs.com/testing/dont-develop-gui-tests-teach-your-app-to/240168468 http://www.drdobbs.com/testing/dont-develop-gui-tests-teach-your-app-to/240168468。目前不赞成进行如此重大的改变,并且想尝试一些至少可以自动化基本功能的工具。

您能否分享您使用这些或其他工具来测试 MFC 应用程序的经验。

PS:我确实看到了其他帖子,例如MFC gui可通过谷歌测试进行测试吗? https://stackoverflow.com/questions/26058560/mfc-gui-testable-with-google-test但没有得到我正在寻找的答案。我正在寻找自动化工具的纯粹视觉方面,并且功能逻辑已经得到很好的涵盖。

提前致谢! 维阿凯


We use pywinauto https://github.com/pywinauto/pywinauto用于我们公司基于 MFC 的应用程序。这是最好的选择,因为它的界面非常Pythonic。它无法处理WPF,但MFC现在确实是核心案例。我正在监控StackOverflow 上的 pywinauto 标签 https://stackoverflow.com/questions/tagged/pywinauto。请随时在此处提出问题或将问题提交到 GitHub 存储库。我是 pywinauto 维护者之一。

pywinauto 也有 GUI 帮助器:SWAPY https://github.com/pywinauto/SWAPY。它可以查看控件层次结构,甚至可以使用简单的代码生成器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于基于 MFC 的 GUI 应用程序的免费自动化测试工具 的相关文章

  • 如何使用样式表删除 QWizard 中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我已经发布了一个最小的例子here https stackoverflow com q 52538669 8570451 这个问题是由scopchanov从最小的例子中解决的 但是
  • CComboBox DDX_CBString 行为令人困惑

    我在对话框中使用 ComboBox 控件为用户提供一些有用的值 例如 10 20 100 400 800 但让用户根据需要插入准确的值 经过很长时间我发现 如果我输入值40在 Combobox 中 Combobox 始终在 UpdataDa
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 在运行时将无模式对话框转换为模式对话框

    我有一个对话框 CDialog 派生类 可以以两种不同的方式使用 编辑模式和编程模式 当对话框打开以在编程模式下使用时 它是一个无模式对话框 用于修改主视图 类似于工具栏 当它以编辑模式打开时 用户可以更改对话框本身的配置 在这种情况下 它
  • R Shinydashboard 根据选项卡选择显示/隐藏 UI 元素

    如果有人可以提供帮助 我正在努力满足要求 我必须根据用户的选项卡面板选择在仪表板侧栏上显示 隐藏一些元素 这是 UI 代码的一部分 可让您了解我的应用程序的结构 我需要仅在 tabpPanel 2 上显示 Fourthoutput Fift
  • C# 应用程序 GUI 和命令行

    我目前有一个带有 GUI 的应用程序 是否可以从命令行使用相同的应用程序 没有 GUI 并使用参数 或者我是否必须为命令行工具创建一个单独的 exe 和应用程序 编辑您的项目属性以使您的应用程序成为 Windows 应用程序 而不是 控制台
  • 用Red语言制作GUI对象

    我有一个小面板的以下简单代码 view t text label f field button Click here t text f text 但我必须制作其中两个并将它们放在一个窗户上 我想创建单个对象类并从中创建 2 个对象 我看到可
  • 循环中的“control.Exists”第一次工作,而不是第二次在编码的用户界面中工作

    考虑代码 for i 0 i lt 5 i if control Exists mouse Click button 在此 控件是一个弹出窗口 第一次执行时 control Exists true 第二次执行时 虽然控件存在 但它为 fal
  • Visual C++ MFC 中窗口启动时的事件顺序

    假设我有一个从 CWnd 派生的类 它具有事件处理函数OnPaint OnCreate and OnSize 如您所知 所有这些都是在窗口启动时发生的 但我想看看它们之间的顺序是什么 例如 当我在其中一个中设置断点时 在结束函数后 控制不会
  • 如何在 Java 中使 JFrame 可滚动?

    我有这段代码 我试图在其中安装可滚动面板 JPanel 但我不明白 这是我的代码 public class Sniffer GUI extends JFrame Canvas c new Canvas ConnectorProperties
  • 切换“确定-取消”和“取消-确定”以强制用户交互?

    这是受到这个问题的启发确定 取消还是取消 确定 https stackoverflow com questions 50335 ok cancel or cancel ok 我记得在某处读到过有关在某些情况下切换 确定 取消 取消 确定 的
  • 给定背景颜色,如何获得使其在该背景颜色上可读的前景色?

    给定背景颜色 如何获得使其在该背景颜色上可读的前景色 我的意思是在程序中自动计算前景色 或者简化问题 如果前景色是从白色 黑色中选择的 那么在程序中如何进行选择呢 这是我用 Java 和 Javascript 做的一个 它是松散地基于thi
  • 如何阻止 JTextPane 吞噬键盘快捷键(加速器)?

    我的应用程序的主 JFrame 包含一个 JTextPane 虽然它具有焦点 但它会消耗所有键盘快捷键 加速器 而不是将它们传递到 JFrame 的 JMenu 这意味着虽然它具有焦点 但 新文档 的 ctrl n 不起作用 显然 它正确处
  • 如何隐藏其他选项卡的内容并仅显示所选选项卡的内容

    当我单击特定选项卡时 其他选项卡的内容应该隐藏 但它并没有隐藏 这是我所有的代码 function showStuff id if document getElementById id style display block documen
  • 没有 GUI 的 Android Activity

    我创建了一个仅从链接启动的活动 使用意图过滤器 我不希望此活动有 GUI 我只希望它启动服务并在栏中放置通知 我尝试将链接的意图过滤器放入我的服务中 但这不起作用 有没有更好的方法可以响应意图过滤器 或者我可以让我的活动没有 GUI 吗 抱
  • 使用 pygtk3 将 GUI 窗口添加到 python opencv2 程序

    我已经使用Python和Opencv2完成了一个程序 现在 我想向我的程序添加一个 GUI 窗口 我对 PyGtk3 有一些经验 因此 我修改了代码以采用 PyGtk3 但是 我遇到了错误 因此 我尝试了一个简单的程序来找出实际的错误 我的
  • Perl Tk 模块有哪些缺点?

    与在 Perl 中创建 GUI 的其他解决方案相比 Tk 模块有哪些缺点 我最近浏览了 Perl 的各种 gui 模块 这是我的总结 免责声明 最终我发现现有模块都不能满足我的需求 所以我开始编写自己的 gui 工具包 Tk 工作起来很不错
  • 如何将tchar指针转换为char指针

    我想将 tchar 转换为 char 这可能吗 如果是的话该怎么做 我使用unicode设置 A TCHAR要么是一个普通的char or a wchar t取决于您的项目的设置 如果是后者 您需要使用WideCharToMultiByte
  • JavaFX 中具有自定义内容的 ListView

    How i can make custom ListView with JavaFx for my app I need HBox with image and 2 Labels for each line listView 您可以通过查看

随机推荐

  • 4 级订阅嵌套在流星中

    我正在使用流星 这是我的架构 每个都是一个单独的集合 课程有很多讲座 讲座有很多问题 问题有很多答案 我想要一页可以显示给定课程的讲座 问题和答案 我可以毫无问题地显示课程的讲座 但在显示更多嵌套项目时遇到问题 我理想地希望拥有 讲座有 c
  • 更改 Sublime Text 2 中的“下一个文件”和“上一个文件”快捷方式

    我没有运气改变 Sublime 中切换文件的键绑定 有人知道这笔交易在这里吗 我想要实现的只是 cmd 和 cmd 显示下一个和上一个文件 然后我可以使用 tab 和 shift tab 进行所有缩进 keys super command
  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • 使用 msbuild 复制所有文件和文件夹

    只是想知道是否有人可以帮助我编写一些我正在尝试编写的 msbuild 脚本 我想要做的是使用 msbuild 将所有文件和子文件夹从一个文件夹复制到另一个文件夹 ProjectName gt Source gt Tools gt Viewe
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式
  • Objective C 如何将文本字段添加到导航栏中

    我正在尝试将文本字段添加到导航栏中 但它没有显示在模拟器中 我在 viewdidload 中按如下方式执行 UITextView textField UITextView alloc initWithFrame CGRectMake 0 0
  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • 如何在 C++ 上检查某个键是否被按下

    我怎样才能检查 Windows 上是否按下了某个键 正如其他人提到的 没有跨平台的方法可以做到这一点 但在 Windows 上你可以这样做 下面的代码检查 A 键是否按下 if GetKeyState A 0x8000 Check if h
  • 使用 Sequelize 实现单表继承

    有没有办法使用sequelize来创建单表继承 我希望有一个用于购买和 PartialPurchase 模型的 STI 其中我将有一个类型字段 该字段为 Purchase 或 PartialPurchase 以及类 Purchasing 和
  • 如何使用 Spring Boot 在运行时配置 Micrometer 的监控系统

    我对一般指标尤其是微米很陌生 所以这可能是一个愚蠢的问题 千分尺在其上描述了自己主页 https micrometer io 作为 外观 没有供应商锁定 想想 SLF4J 但为了指标 具有 对 Netflix Atlas 的内置支持 这do
  • 使用 CognitoIdentityServiceProvider 的 adminCreateUser 方法的 AWS Lambda 函数突然失败

    在过去的几天里 我一直在使用 AWS Lambda 函数测试特定流程 并且在 Cognito 用户池中预注册后触发的 lambda 函数工作正常并很好地返回回调函数 但从昨天开始我就看到了以下错误 ntime node modules aw
  • 网站 YouTube 嵌入视频不断播放

    我正在使用 youtube 提供的 iframe 在我的网站上嵌入视频 我还使用了一个 css 弹出窗口 这是我从这个页面学到的http www pat burt com web development how to do a css po
  • LINQ to Entities 是否支持“where”子句谓词中的 IEquatable?

    我有一个名为 EntityBase 的简单基本实体类型 它实现 IEquatable 我在 LINQ to Entities 之外使用了此代码 使用EF http en wikipedia org wiki ADO NET Entity F
  • 如何在序列化器创建方法中获取 URL Id?

    我有以下网址 url r member P
  • 改变字符串颜色

    好的 这是我上一个问题的延续 但我有代码 private void btnTrans Click object sender EventArgs e var abrvStr inputBx Text foreach var kvp in d
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • 如何在 SQL Server 2012 中选择除一列之外的所有列? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以选择所有列 但只选择我不想选择的特定列 我的意思是有时我会遇到这样的问题 表有数百个字段 而我只需要删除一个字段 我需要重写所有列吗 有什么窍门吗 喜欢select
  • 用于基于 MFC 的 GUI 应用程序的免费自动化测试工具

    我是 Windows 开发和测试平台的新手 我正在开发一个基于 MFC 的 GUI 应用程序 并正在寻找有助于 UI 自动化测试的工具 我搜索时出现了一大堆工具 但大多数似乎都不支持MFC 我考虑的选项是 A 编码 UI UI 自动化 看起