c# – WPF UI自动化与.NET 4.5与Prism和MVVM与Click Once App易于使用非开发人员
作者:互联网
我已经搜索并尝试了一些东西,即这个帖子:
How to test a WPF user interface?
我已经尝试开始使用Systems.Windows.Automation和TestAutomationFX(第三方工具).我的观点是,虽然对于简单的事情有好处,TestAutomation会在多个UI级别下降时(从加载的程序集中的用户控件中的用户控件),我可能必须手动调整他们的代码以获得我想要的东西. System.Windows.Automation看起来很旧,我必须手动完成所有操作,这可能比我想要花费更多时间,因为我不是全职自动化创建.我还从Windows SDK for Windows 7下载了Inspect.exe,它非常适合在我的UI中反映对象.两个测试人员都可以正常使用简单的代码,但是当它得到几层时,似乎有点涉及.我还打算在GitHub上尝试从原来的Project White转移的’TestSTack / White’.
我很好奇是否有人最近在UI自动化方面有过非开发人员可以在QA职位中使用的经验.我正在考虑获得VS 2013测试专业版,但这看起来有点过分,而且比我看到的VS 2013 Pro花费更多.基本上这不是负载测试或冗长复杂的动态实体结果变化,只是功能测试,希望十个左右运行不同的变量.这只是一个更混乱的布局,因为我们将Prism方法Microsoft.Practices.Prism与MVVM结合起来.
我不介意在VS 2013和.NET 4.5中开发一些东西,但我希望得到的东西是我没有开发其他一组项目,但是为了节省时间.我在单元测试项目中是一个极端的菜鸟,但最终的目标是:
>为非开发人员提供exe或某些环境,以便在遵循某些Prism和MVVM体系结构后自动运行用WPF编写的Click Once UI.
>希望有一些类型的CSV,配置或其他方法,他可以更改变量来运行某些测试.
>能够以配置或可更改的方式输入点击一次应用程序的exe(单击一次很有趣,在我打开任务管理器的经验中找到它,然后点击一次应用程序的“打开位置”,这与盒子不同到盒子).
这可能有很多问题,或者对于每天进行单元测试的人来说可能很简单,我不知道.我要尝试第三方产品,非.NET产品来运行.NET,以及在VS中编写C#以创建一个项目来运行我的UI(只要它可以在没有VS的盒子上运行).
解决方法:
理想情况下,您根本不需要进行许多UI测试 – 应该通过单元测试来测试应用程序逻辑的大部分内容.使用MVVM,您可以轻松地测试您的视图模型,以确保按钮在应用时被禁用/启用,等等.
通过UI测试核心业务逻辑是一种灾难.只是不要这样做. UI测试非常脆弱,如果您的UI发生任何重大变化,则需要重新记录或更新.如果您的测试因与您尝试测试更改的核心逻辑无关的原因而失败,那么您就不太可能相信测试会验证他们应该验证的内容.如果您不相信测试,您将开始忽略失败. “哦,那个测试有时会失败,这没什么大不了的.”如果您不能相信您的测试在100%的时间内都是准确的,为什么还要费心进行测试?
因此,您希望通过UI测试工具进行测试的是最顶层的UI,只是为了确保您的viewmodel正确绑定到您的视图.这归结为,实际上,只是一些测试.为此,您可以轻松使用Coded UI.棘手的部分是确保所有控件都是自动化友好的,这涉及给控件提供正确的名称,并确保将正确的自动化属性附加到控件.
编码的UI在VS Premium及更高版本中可用,您不需要使用Microsoft Test Manager来管理和运行测试,尽管它确实更容易.
听起来,你真正追求的是MTM.您希望您的手动测试人员能够通过与您的应用程序交互来记录测试,然后再播放它们.这正是MTM的设计目标,也是它擅长的.
标签:c,net,mvvm,wpf,ui-automation 来源: https://codeday.me/bug/20190517/1119845.html