我正在为公司的基于 Windows的WPF应用程序推荐UI自动化工具
其中针对的是广泛的客户.应用程序存在于一层WCF服务中以便获取
数据.该公司已经有一个专门为Test Complete编写的小型VBScript框架
并且真的不健壮,因此我正在寻找一个合适的工具,我们可以重用脚本或
改进现有工具.欢迎任何想法.

我查看了Microsoft UI Automation,Project White,UIA Verify和Ranorex.他们每个人
功能缺乏.

我能够完成Microsoft UI Automation的过程.我仍然在理解它是如何工作的
使用WPF,因为它完全依赖于Automation IDS.
我们的应用程序非常庞大,并未考虑到这一点.所有代码都没有实现
自动化ID属性或Name属性,它对于可视树中的对象识别非常重要
在UISpy和VisualUIAVerify等工具中.

我具体看的是以下内容.请给出每个评级

1)录制:录制,回放和自动执行测试脚本并生成报告.

2)依赖关系:最小的依赖关系(.NET框架,API模块,SDK版本等..)

3))代码生成:从模板,宏和记录生成测试脚本的代码.

4)对象名称映射:避免显式使用Automation IDS和屏幕corrdinates,如果它们使用,它是否支持任何可以使用XAML文件并将Automation IDS插入其中的工具,并且还避免了重复自动化IDS的问题.

5)事件:如果GUI经历任何更改,用户(测试人员)可能收到的任何事件和回调
以及在这种情况下脚本将如何改变.

6)支持:支持不同的脚本语言和简单的代码转换(C#,VBScript,Python等)

7)快速可靠:GUI元素易于操作(如支持xml dom,Json等),导航,代码复制替换任务,用于更改UI和简单配置(xml,ini文件)

8)代码转换器:测试人员在vbscript中编写代码,开发人员可以简单地将其转换为c#,以便在需要时将它们嵌入到任何独立的框架中.

9)自定义控件:支持自定义控件和对象映射.如果您有一个自定义对象,其行为类似于标准控件之一.你能映射(告诉测试工具自定义控件的行为类似于标准)控件吗?它是否支持所有标准控制方法?你可以将自定义控件添加到它自己的控件类中吗?

10)报告:应该能够一次执行多个测试并生成类似于VisualUIAVerify的报告.

Visual Studio 2010 Coded UI Tests

You can use Visual Studio 2010 Ultimate or Visual Studio 2010 Premium to create automated tests of the user interface kNown as coded UI tests. These tests provide functional testing of the user interface and validation of user interface controls.

我正在使用Coded UI Tests来自动化基于MVVM模式构建的WPF应用程序的测试.该工具的record/playback功能令人印象深刻,产生了非常好的模型.对于大型套房,建议是tear apart the generated code,为您自己的目的构建和扩展它.

我建议Visual UIA Verify在开发和调试时协助查看应用程序的自动化结构.

用于基于Windows的WPF应用程序的UI自动化工具,具有记录和回放功能的更多相关文章

  1. WPF listview / gridview性能可怕,建议

    解决方法检查这些属性:

  2. 在WPF中ListView和GridView有什么区别?

    我正在尝试创建一个WPF数据库应用程序.我可以使用一些好的组件来显示数据库表中的数据.ListView和GridView似乎很受欢迎.但对于新手来说,很难看出它们之间的区别.ListView和GridView有什么区别?优缺点都有什么?

  3. 当XAML数据验证失败时,如何让视图模型知道

    我有一个表单,用户可以在其中设置数值过程的参数。尽管该属性是双精度的,但它可能表示布尔值或整数。我不能让Min>;Max或Max<;Min.我已经在XAML中实现了验证,如果数据无效,它会向用户发出视觉警告。Min参数的数据模板如下所示。我希望在参数对象中有一个布尔IsValid属性,以便在用户尝试保存时进行测试。如何从XAML绑定到此IsValid属性?

  4. Wpf应用程序在Debug文件夹中工作正常,但在程序文件文件夹中不工作

    我正在使用VisualStudio2022开发一个.NETWPF项目。我计划使用cmd运行带有参数的应用程序。我的Wpf应用程序在Debug文件夹中运行良好,但在程序文件文件夹中运行时无法正常运行。当我在没有参数的情况下运行程序时,即使在程序文件中,它也能正常工作。有什么办法解决这个问题吗?

  5. C#.NET Core 3.1 Web API Post参数为Null

    我试图使用以下代码从WPF向WebAPI发出post请求,但请求参数始终为空。请求模型WPF客户端WebAPI请问我在上述实施中缺少什么?

  6. 是否有正式的Windows Presentation Foundation(WPF)徽标?

    是否有.Net和ActiveX的官方WindowsPresentationFoundation(WPF)徽标?最接近你会得到Matts的回答我认为..还有这件艺术品:文件类型还有一个XAML徽标:XAMLlogohttp://i.zdnet.com/blogs/xamllogo.jpg想想看,即使Silverlight有一个很好的标志.为什么不为WPF做一个漂亮的标志:(..Silverlight

  7. 使用WPF而不是Windows窗体有什么好处?

    >WindowsForms的未来是什么?>WPF的当前版本是什么?我猜它是1.0,因为它带有.NETframework3.0.>在制作我的第一个HelloWorldWPF应用程序时,我发现的WPF的下一个版本是否会有任何重大改进?>WPF是否与.NET4.0一起更新?

  8. wpf – 无边框窗口应用程序比屏幕分辨率占用更多空间

    我在WPF中创建了一个无边界应用程序,它运行得很好.但是,当我将WindowState设置为全屏时,应用程序会占用比屏幕分辨率更多的空间,因此屏幕外的所有方向都有一些像素!任何想法如何防止这种情况发生?谢谢我这样解决了问题:XAML:VisualBasic:它的效果非常好.

  9. 并排运行WPF / Win32应用程序的性能问题?

    闪烁是资源不足时通常会获得的类型,您可以在其中看到单个元素闪烁并逐渐绘制到屏幕上.如果有人有任何建议/想法,请告诉我们.每个进程都有自己的消息泵–这是不共享的.如果您没有看到高cpu利用率,那么WPF正在使用硬件渲染,因此它可能是GPU饱和度.你能获得有关GPU利用率的信息吗?

  10. 如何使所有屏幕区域变暗并在WPF中使我打开的窗口发光?

    在WPF中,如何在打开新窗口时使所有屏幕区域变暗?窗口关闭后,如何恢复临时效果?

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部