UI 自动化和 WPF 的经验 [关闭]

2024-02-03

我们正在开发一个相当大的基于 WPF 的应用程序,并希望在我们的测试套件中包含一些自动化 UI 测试(其中已经包含许多单元测试)。

The 用户界面自动化框架 http://msdn.microsoft.com/en-us/library/ms747327.aspx来自 Microsoft 的产品在一定程度上听起来非常适合在测试设置中以编程方式启动应用程序并与应用程序交互。然而,我一直在努力寻找有关该技术的示例和经验的可靠参考,MSDN 上提供的文章和小示例不足以让我相信这是一个可靠的选择。

那么,是否有人有在测试套件中使用 UI 自动化框架的实际经验?有哪些注意事项和陷阱?编写测试脚本时的任何最佳实践,您是否可以“记录和重播”为可编写脚本的格式,您应该在多大程度上促进应用程序的测试,您如何将其合并到自动构建中?我们是否应该寻找 UI 自动化框架之外的另一个方向?

请随意在这里发布您的经验或链接到我可能错过的一些好的参考资料


在我工作的地方,我们刚刚开始评估我们系统的一些测试工具。我们遇到了一个叫做white http://www.codeplex.com/white,它使用 UI 自动化框架。请注意,白色也有记录功能,尽管我认为它看起来有问题并且仍在开发中。

我们尝试做的是将它们设置为看起来像单元测试,即[TestFixture] [Test]ETC。 然后我们就可以在单元测试的同时通过 nunit 运行它们。

我们发现访问窗口中的某些组件可能很困难,但没有太多机会调查原因。

如果您不介意购买该软件,那么我会推荐测试完成 http://smartbear.com/products/qa-tools/automated-testing-tools.

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

UI 自动化和 WPF 的经验 [关闭] 的相关文章

  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • while 循环元素状态 cypress

    我有一个问题 我想单击一个按钮直到它消失 但次数可能会有所不同 所以我想检查可见性状态 当可见 true时单击按钮 当可见 false时结束测试 但问题是我不知道如何循环从获取元素到末尾的所有链 单击按钮一次 由于中断而停止 如果我删除中断
  • WPF 从主线程以外的其他线程截屏

    我有一个线程用于侦听 WPF 应用程序的命令 如果 WPF 应用程序收到截取屏幕截图的命令 则任务将移交给 screenshotService 我在互联网上的某个地方找到了一些代码来截取屏幕截图 似乎可以工作 但我还没有想清楚 我无法从另一
  • 为什么我的 WPF 复选框绑定不起作用?

    我正在使用 MVVM VS 2008 和 NET 3 5 SP1 我有一个项目列表 每个项目都公开一个 IsSelected 属性 我添加了一个复选框来管理列表中所有项目的选择 取消选择 更新每个项目的 IsSelected 属性 一切正常
  • Prism 7. 将 PrismApplication.CreateShell() 与非 Window 控件一起使用

    我想从 6 3 更新到 7 我似乎遇到了障碍 在 App xaml 中使用 PrismApplication 类时 CreateShell 期望返回类型为 Window 而不是之前需要 DependencyObject 的 BootStra
  • 为什么绑定到 IEnumerable 的 ListBox 不更新?

    我有以下 XAML
  • WPF 中的填充弧

    I am trying to draw a figure something like this 我需要为每个弧段都有一个独特的元素 我可以根据需要处理事件并重新着色 我有点不确定如何在 WPF 中创建正确的几何图形 我可以根据圆的半径和与
  • 为什么 XAML 动画的属性值需要用圆括号括起来?

    这已经困扰我很长时间了 我似乎找不到一个好的解释 此标记中圆括号的用途是什么 它是转换的 XAML 快捷方式吗 为什么它似乎只用于动画 Storyboard TargetProperty TextBlock RenderTransform
  • 为什么Windows 7无法加载程序集PresentationFramework.Aero2?

    我最近完成了我使用 Windows 8 开发的第一个 WPF 应用程序 它在我的机器上运行良好 我的一个朋友也在他的 Windows 8 机器上的 Visual Studio 中运行了它 并且成功了 我在我的机器上使用单击一次安装该程序 它
  • WPF 列表框 + 扩展器事件

    我在列表框的 ItemTemplate 中有一个 Expander 渲染得很好 我遇到的问题是 我希望在展开和 或选择扩展器时触发 ListBox SelectionChanged 事件 MouseDown 事件似乎没有冒泡到 ListBo
  • WPF Dispatchertimer 延迟反应/冻结

    在我的 WPF 应用程序中 我使用 3 个不同的 DispatcherTimers 一种是用于显示当前时间 一种是每 5 秒运行一次数据库查询 第三个每 1 秒刷新一次自定义按钮的值 当我的程序运行时 有很多延迟 冻结 例如 时间开始正确计
  • Keyboard.Focus(item) 和 item.Focus() 有什么区别?

    在 WPF 中 有两种方法将焦点设置到元素 您可以调用输入元素的 Focus 方法 也可以使用输入元素作为参数调用 Keyboard Focus first way item Focus alternate way Keyboard Foc
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • WPF - 全局添加xaml命名空间声明

    我有一个相当大的 WPF 应用程序 其中包含大量 XAML 文件 每个 XAML 文件都有 5 到 10 个 clr 到 xml 命名空间映射xmlns abc clr namespace Abcdef 它看起来很糟糕 并且在每个文件中写入
  • 使用自定义视觉效果创建无边框窗户

    我想使用 WPF 创建一个看起来不像常规窗口的自定义窗口 我想要创建的窗口类似于MacOs窗口 标题居中 带有阴影效果 控件按钮位于窗口左侧 我确实创建了一个无边框窗口 但我有一些问题 1 如何在 XAML 中设置最大化 最小化和关闭按钮的
  • WPF 自定义 TabItem - 控件未显示在 Visual Studio 设计器中

    我创建了一个自定义 TabItem 其中包含 DockPanel 和 Button XAML
  • 底部垂直滚动richtextbox [WPF]

    我有一个富文本框 当满了时我想自动滚动到底部 这可能吗 用xaml做这个吗 通过使用ScrollViewer ScrollChanged http msdn microsoft com en us library system window
  • 如何防止新的 WPF 表单窃取焦点?

    我写了一个简单的MSN http en wikipedia org wiki MSN 风格的程序将使用发送和检索消息WCF http en wikipedia org wiki Windows Communication Foundatio
  • WPF:按钮单击+双击问题

    我必须处理 WPF 应用程序中按钮的单击和双击 并具有不同的反应 不幸的是 在双击时 WPF 会触发两个单击事件和一个双击事件 因此很难处理这种情况 它试图使用计时器来解决它 但没有成功 我希望你能帮助我 我们看一下代码 private v
  • WPF 中的图像变得模糊

    我正在使用 C 在 WPF 中开发应用程序 我将图像放入 WrapPanel 中 并在带有一个边框的网格内显示 并在按钮中使用图像 问题是我的图像控件失去了质量 我无法在这里发布我的图片 所以我只是在这里描述 I used SnapsToD

随机推荐

  • 为什么 Array.Copy 支持长参数

    来自MSDN http msdn microsoft com en us library btfeahds VS 80 aspx 参数 源数组 包含数据的数组 复制 目的地数组 接收数据的数组 长度 一个 64 位整数 表示 要复制的元素数
  • 使用数据源将文本添加到组合框

    我有一个 vaadin 组合框 里面装有容器数据源 setContainerDataSource container 我现在想在结果列表中的某处插入静态文本 例如 一个组合框充满了一个容器 结果列表中弹出的第一个条目是某种标题 Person
  • 从 python 字典列表中选择单个字段

    假设我有一个字典列表 如下所示 dictionList 1 Type Cat Legs 4 2 Type Dog Legs 4 3 Type Bird Legs 2 使用 for 循环 我想迭代列表 直到捕获带有 a 的字典Type场等于
  • CSS:增加上边距

    我正在尝试以楼梯类型的方式错开 div 类 所以它看起来像这样 1 2 3 4 编辑 我想更改上边距 以便 process div 的每个位置都低于之前的位置 我让它们浮动 这样它们就可以并排坐着 但我也希望每个 div 都比上一个更低 我
  • FastText 使用预先训练的词向量进行文本分类

    我正在研究文本分类问题 也就是说 给定一些文本 我需要为其分配某些给定的标签 我尝试过使用 Facebook 的快速文本库 它有两个我感兴趣的实用程序 A 带有预训练模型的词向量 B 文本分类实用程序 然而 这些似乎是完全独立的工具 因为我
  • Overpass api 来查找坐标的速度限制?

    我收到车辆的坐标 我需要找出该车辆所在道路的速度限制 我知道你可以找到某个有界框的最大速度 如下所示 www overpass api de api xapi 最大速度 bbox 5 6283473 50 5348043 5 6285261
  • 通过 JQuery 选择 select 中的选项

    我有一个包含以下选项的选择
  • 启用对非公共 Google Cloud Function 的令牌访问

    我想部署一个没有公共访问权限的 Google Cloud Function 服务帐户应该能够以最少的权限调用该功能 由外部服务器使用 我已经创建了一个服务帐户 添加了绑定并下载了密钥 gcloud iam service accounts
  • Puppeteer 启动器错误结果未定义

    在 Windows 上测试我的项目后 我将其部署到基于 Ubuntu 的虚拟机上 这就是 Puppeteer 行为让我感到困惑的地方 我确实安装了所有必需的依赖项 但我有一种感觉 我的错误不一定是由于缺乏依赖项以及更多有关配置问题而引起的
  • PyCharm:为什么只显示退出代码行?

    例如 运行以下代码行 print Hello world My name is Enkouyami 只输出这个 Process finished with exit code 0 让它显示该文本的唯一方法是转到 python 控制台 我的
  • 在 Ubuntu 18.x 和 R 3.4.4/3.5.1 上安装 tidyverse

    我尝试安装 tidyverse 以及组成 tidyverse 的软件包 并得到以下输出 gt install packages tidyverse dependencies TRUE type source Installing packa
  • 在PHP应用程序中以安全的方式存储MYSQL的密码

    我有一个从代码连接到数据库的 php 应用程序 我想知道存储这些凭据的安全方法是什么 这是一个Linux服务器 编辑 我只想听到一些知情的意见 以便自己获得知情的意见 以便与我的团队讨论 我反对加密任何密码 但我的团队并不相信 我认为如果密
  • 使用 Autofac 进行 XUnit 测试构造函数依赖注入

    我正在使用 Autofac 实现 Xunit 我可以通过以下代码使其工作 using var scoped DbFixture Container Resolve
  • 使用批处理脚本在 Windows 中添加注册表项,并在数据中添加所需的引号

    小威利斯在这里 我正在尝试使用批处理脚本来编辑双击 jar 文件时使用的现有注册表项 问题是我尝试输入的数据包含引号 但我还需要引号才能将其视为字符串 Example reg add HKEY LOCAL MACHINE Software
  • 带有 ng-repeat 指令的容器高度为零

    我有一个带有 ng repeat 指令的 div 它会遍历一个数组并向我的容器添加一堆 div 当我打电话时 height 在现在充满 div 的容器上 它返回 0 它似乎返回 ng repeat 指令执行之前的高度 将 ng repeat
  • 如何翻转单个UIView(不翻转父视图)

    这是一个 iPad 项目 其中我有一个带有多个子视图的 UIView 我正在尝试使用 UIView transitionFromView toView duration options completion 为其中一个 UIView 制作动
  • C 和 C++ 风格文件 IO 之间的性能差异

    我一直听说 C 文件 I O 操作比 C 风格的 I O 慢得多 但我没有找到任何实际参考来说明它们实际上有多慢 所以我决定在我的机器上测试它 Ubuntu 12 04 GCC 4 6 3 ext4分区格式 首先 我在磁盘中写入了约 900
  • ActiveRecords 数组转为 JSON

    我知道 ActiveRecord 提供了一个 to json 方法 该方法允许使用 only 和 except 从 JSON 输出中过滤出字段 目前我正在使用以下命令将 find 中的数组格式化为 JSON customers Custom
  • VSCode 扩展从开发中运行,但在使用 webpack 打包时不起作用

    我已经构建 运行 打包并发布了一个扩展 但打包程序抱怨有 2509 个文件 4 28MB 并建议使用打包程序 我已按照以下说明进行操作捆绑扩展 https code visualstudio com api working with ext
  • UI 自动化和 WPF 的经验 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正在开发一个相当大的基于 WPF 的应用程序 并希望在我们的测试套件中包含一些自动化 UI 测试 其中已经包含许多单元测试 The 用户界面