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 的经验 [关闭] 的相关文章

  • 如何在 WPF 中实现虚线或点线边框?

    我有一个ListViewItem我正在申请Style到 我想把灰色虚线作为底部Border 我怎样才能在 WPF 中做到这一点 我只能看到纯色画笔 这在我们的应用程序中效果很好 允许我们使用真正的边框而不是乱用矩形
  • WPF DataGrid 绑定 DataGridCell 内容

    希望这将是一个非常简单的答案 我认为我只是没有看到众所周知的树木 我有一个 DataGridCell 样式 我想将单元格的内容绑定到图像的源属性 这是我目前使用的 XAML
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • 该组件没有由 uri 标识的资源

    我想创建一个通用数据网格以在我的所有视图 用户控件上使用 这是我的结构 Class Library called Core Class called ViewBase public class ViewBase UserControl pu
  • 从 xaml 获取 RowIndex

    我有一个带有 DataGridTemplateColumns 的 DataGrid 在 TemplateColumn 中 我使用工作正常的 DataTrigger 它从 DataGrid 父级检索项目计数
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • Winforms 中的 WPF ElementHost 最大化时崩溃 (Windows)

    我正在尝试将新的 WPF 控件集成到现有的 WinForms 应用程序中 并使用 ElementHost Dock Fill 来托管以下 XAML UserControl NET 4 当我将 WinForm 设置为最大化时 我的整个操作系统
  • 如何使 WPF 应用程序在 Web 浏览器上运行

    我们有一个用 WPF 编写的现有应用程序 我们正在寻找一种迁移它的方法 以便它可以在 Web 浏览器上运行 深入研究后 我们似乎需要找到一种将代码编译为 WebAssembly 的方法 但我不确定它对于现有的完全加载的 WPF 应用程序有多
  • 混合 MFC 和 WPF:模态对话框

    我使用 C CLI 界面层将 C WPF 对话框添加到现有的 C MFC 应用程序 我一切正常 只是我遇到了形式问题 例如 MFC 应用程序使用 ShowDialog 显示 WPF 对话框 按预期工作 该 WPF 对话框显示使用 DoMod
  • 给图像着色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试着色System Windows Controls Image 该图像包含透明区域 我只是想用颜色给非透明区域着色 例如 图
  • PreviewKeyDown 不会在 ElementHost 中针对 Tab 和箭头键触发

    我在 Winforms ElementHost 中有一个 WPF 窗口 我的窗口上的 Tab 键和箭头键不会触发 KeyDown 和 PreviewKeyDown 事件 KeyUp 和 PreviewKeyUp 似乎工作正常 Preview
  • 从一张图像复制 ROI 并复制到 wpf 中的另一张图像

    我想开发一个具有以下签名的函数 CopyImage ImageSource inputImage Point inTopLeft Point InBottomRight ImageSource outputImage Point outTo
  • WPF 创建同级窗口并关闭当前窗口

    我需要的是我的窗口类中的这样一个事件处理程序 void someEventHandler object sender RoutedEventArgs e MyNewWindow mnw new MyNewWindow mnw Owner W
  • 不将 ViewModel 放置在单独的程序集中有充分的理由吗?

    我正在 WPF 中使用 MVVM 模式开发一个项目 MVVM 的主要优势之一是保持业务逻辑和表示之间的清晰分离 为了测试所有内容实际上的分离程度 周末我将所有 ViewModel 模型和业务逻辑移动到一个单独的 dll 中 exe 被保留为
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • wpf,如何限制TextBox的MaxLength?

随机推荐

  • 为什么 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 用户界面