关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
7年前关闭。
Improve this question
我已经搜索并尝试了一些东西,即这个线程:
How to test a WPF user interface?
我尝试开始使用 Systems.Windows.Automation 和 TestAutomationFX(第三方工具)。我的观点是,虽然对简单的事情有好处,但 TestAutomation 会在多个 UI 级别下降(加载程序集的用户控件中的用户控件)时发生爆炸,我可能不得不手动调整他们背后的代码以获得我想要的东西。 System.Windows.Automation 似乎很旧,我必须手动完成所有事情,这可能需要比我想要投入的更多时间,因为我不是全职创建自动化。我还从适用于 Windows 7 的 Windows SDK 下载了 Inspect.exe,它非常适合在我的 UI 中反射(reflect)对象。两个测试人员都可以很好地处理后面的简单代码,但是当它下降几层时,它似乎有点复杂。我还打算在 GitHub 上尝试从原始项目 White 迁移而来的“TestSTack/White”。
我很好奇最近是否有人在非开发人员可以在 QA 职位上使用的 UI 自动化方面有经验。我正在考虑获得 VS 2013 Test Pro 但这似乎有点矫枉过正,而且从我所看到的情况来看,这比 VS 2013 Pro 更贵。基本上,这不是负载测试或冗长的复杂动态实体结果更改,只是功能测试,希望有十次左右的不同变量运行。这只是一个更令人困惑的布局,因为我们还将 Prism 方法 Microsoft.Practices.Prism 与 MVVM 相结合。
我不介意在 VS 2013 和 .NET 4.5 中开发一些东西,但我希望得到一些我没有为它开发一整套项目的东西,而是为了节省时间。我是单元测试项目的极端菜鸟,但最终目标确实是:
这可能有很多问题,或者对于那些每天进行单元测试的人来说可能很简单,我不知道。我准备尝试使用 3rd 方产品、非 .NET 产品来运行 .NET,并在 VS 中使用 C# 编码来制作一个项目来运行我的 UI(只要它可以在没有 VS 的盒子上运行)。
最佳答案
理想情况下,您根本不需要进行很多 UI 测试——应用程序的大部分逻辑应该通过单元测试进行测试。使用 MVVM,您可以轻松地测试您的 View 模型,以确保按钮在应有的情况下被禁用/启用,等等。
通过你的 UI 测试你的核心业务逻辑是灾难的根源。只是不要这样做。 UI 测试非常脆弱,如果您的 UI 发生任何显着变化,往往需要重新记录或更新。如果您的测试因与您尝试更改的核心逻辑无关的原因而失败,那么您就不太可能相信测试验证了它们应该验证的内容。如果您不信任测试,您将开始忽略失败。 “哦,那个测试有时会失败,没什么大不了的。”如果您不能相信您的测试在 100% 的时间内是准确的,那么为什么还要麻烦进行测试呢?
所以你想通过 UI 测试工具测试的是 UI 的最顶层,只是为了确保你的 View 模型正确地绑定(bind)到你的 View 。这归结为,实际上,只是少数测试。为此,您可以轻松使用 Coded UI .棘手的部分是确保您的所有控件都是自动化友好的,这确实涉及为控件提供正确的名称并确保您将正确的自动化属性附加到控件。
Coded UI 在 VS Premium 及更高版本中可用,您不需要使用 Microsoft 测试管理器来管理和运行测试,尽管它肯定更容易。
不过,听起来您真正追求的是 MTM。您希望您的手动测试人员能够通过与您的应用程序交互来记录测试,然后再播放它们。这正是 MTM 的设计目的,也是它擅长的。
关于c# - WPF UI Automation with .NET 4.5 with Prism 和 MVVM with Click Once App 便于非开发人员使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23477225/