对Windows桌⾯应⽤程序进⾏UI⾃动化测试
题记:本⽂简述如何利⽤appium对Windows桌⾯应⽤程序进⾏UI⾃动化测试。
app接口测试工具
所谓UI⾃动化测试,就是模拟⼀个⽤户,对应⽤程序的UI进⾏操作,以完成特定场景的功能性集成测试。
要对Windows桌⾯应⽤程序进⾏UI⾃动化测试,⽬前可选的技术主要是两种:VS⾃带的CodedUI Test和Appium+WinAppDriver。但是,微软已经宣布VS2019将是带有CodedUI Test的最后⼀个版本,且在⾯对某些复杂场景的时候有点⼒不从⼼。⽽Appium作为移动应⽤主流的UI 测试⼯具,已经被业界⼴泛采⽤,且相关的接⼝是标准化的,因此微软对其进⾏了扩展(即),让Appium可以⽀持包括Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), and Classic Windows (Win32)之内的Windows桌⾯应⽤。所以采⽤Appium来作为Windows桌⾯应⽤程序UI⾃动化测试的⼯具是最佳选择。
要完成UI⾃动化测试的⼤致步骤如下(你⾸先需要⼀台Windows 10的PC):
1,准备好待测试的Windows桌⾯应⽤程序。
2,到下载WinAppDriver的安装包,进⾏安装。并启⽤Windows 10的开发者模式。从安装⽬录(⽐如:C:\Program Files (x86)\Windows Application Driver)来启动WinAppDriver。
3,⽤你喜欢的测试框架创建UnitTest项⽬,在项⽬中引⽤Appium.WebDriver这个Nuget包。
4,编写测试⽤例,执⾏测试。
整个⽤例的编写也相对简单:
1,使⽤DesiredCapabilities来设定要测试的⽬标应⽤。
2,使⽤WindowsDriver<WindowsElement>来声明测试的会话。
3,通过测试会话查对应的UI元素,对UI元素进⾏SendKeys(模拟填写内容)和Click(模拟点击)等操作,或者获取UI元素的相关Property和Attribute来进⾏验证。
4,编写测试最挑战的地⽅就是在于如何查到UI元素,我们可以借⽤Windows SDK⾥⾯的这个⼯具来辅助我们查。⼯具的位置在C:\Program Files (x86)\Windows Kits\10\bin⾥⾯的特定版⽂件夹中。⽤法是先启动应⽤程序并导航到待测试的界⾯,启动这个⼯具就会获得桌⾯上所有窗⼝的UI元素层级关系,并通过焦点等⽅式导航到要查的UI元素上。查看相应的信息,并采⽤适合的查⽅式。具体的查⽅式可见:。选择适合的查⽅式有时候需要多尝试⼏种,有些UI元素只能⽤特定的⽅式来查,⽐如html的input button只⽤FindElementByName ,⽽html的button就可以⽤FindElementByAccessibilityId 。
测试⽤例的编写可以参考WinAppDriver源代码⾃带的Sample,也可以参照我的⽰例:。
在我的这个⽰例当中,⽬标应⽤采⽤的是Hybrid⽅式运⾏(即通过WebBrowser来嵌⼊html,并⽤C#进⾏⾏为操作),考虑到这种应⽤程序可能是多个函数库组装在⼀起,所以测试项⽬理应也是多个项⽬组合的(即功能函数库对应⼀个测试项⽬),并且其他测试项⽬可以复⽤公共的测试步骤(⽐如:列表页⾯复⽤登录的测试步骤)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。