WindowsApp自动化测试-WinAppDriver-Appium资料整理

WindowsApp自动化测试-WinAppDriver-Appium资料整理

2023年6月30日发(作者:)

WindowsApp⾃动化测试-WinAppDriver-Appium资料整理最近负责项⽬组Windows App⾃动化测试框架搭建⼯作,在这⾥简单地把这个过程中参考的资料整理起来,仅仅是搬运⼯,感谢⼤⽜们分享的资料。 同时也记下⾃⼰遇到的⼀些问题和解决办法。Windows App ⾃动化⼯具选取11种免费Window App⾃动化⼯具介绍(英⽂版):9种12 种

因为我所做项⽬测试的APP是部署在server端,需要在测试机上远程访问server,这⽅⾯对⼯具的选取有很⼤限制, 所以我选了集成在Appium⾥的WinAppDriver,因为可以⽤到Appium的远程访问功能。 个⼈觉得如果⽤Microsoft UI automation会⽅便些,它⾥⾯定义了各种各样的控件(Button, TreetMenu等),基本上直接调⽤现成的接⼝就可以了,不需要花太多精⼒做⼆次开发,但它不能远程访问。⽤WinAppDriver需要⼆次开发,⼤部控件都要⾃⼰定义,需要编码能⼒。我花了很多时间去调查是否可以Mirosoft UI automation和Appium结合起来⽤, 但是没有找到⽅法, 如果有朋友有找到合适的⽅法,欢迎⼀起探讨。

Mirosoft UI automation

花了⼀些时间研究Mirosoft UI automation, 这⾥顺带把之前参考资料列出来

1. 官⽹介绍:

2. 详细说明和例⼦

3. 简单明了的中⽂介绍:

WinAppDriver

官⽹介绍:

Winappdriver总体介绍, 环境搭建,代码样本, 注意事项:

环境安装1. 安装 和Appium :建议Appium的⾮GUI和GUI版都安装,我们⽤的⼀般是⾮GUI,但是有时候可以⽤GUI版本定位问题,⽐如通过Appium session定位元素。2. 安装WinAppDriver (官⽹上WinAppDriver是集成在Appium, 安装了Appium,是不需要再安装WinAppDriver,但是我安装了Appium后,运⾏程序会提⽰WinAppDriver未安装,可能是版本问题)参考 :

基本步骤流程1, 安装Nodejs2. 安装Appium3. 安装WinAPPDriver(虽然Appium官⽹说不⽤单独安装这个,但是我试了不安装会遇到问题)4. 我是⽤C#, 在vs2015(2017)⾥新建⼀个⼯程,并把通过Nuget安装上Appium driver. 具体设置过程参考:5. 启动Appium

6. 开启开发者模式7.启动(这⼀步⼀般是不需要的,如果报WinAppDriver没起来或没安装可以试⼀试) 在C:Program Files (x86)Windows Application Driver, 可以双击⾥⾯的⽂件8. 环境好啦,开始写测试代码

定位元素-

官⽅介绍:

这⾥要注意:我发现有些朋友说装了SDK后没有找到, 我猜是因为有⼏个版号,没有找对⽂件夹,下图是我电脑上实际找到的位置(找版号最⼤的,没找到的话,把这⼏个⽂件夹都看⼀下)

C:Program Files (x86)Windows Kits10bin10.0.17763.0x86

遇到的问题和解决办法

1. 安装完appium,执⾏代码,报以下错误:An unknown server-side error occurred while processing the command. Original error: Could not verify WinAppDriver install; re-run install解决办法:下载安装WinAppDriver Appium官⽅⽂档是说Appium上有内置了WinAppDriver,不⽤单独安装。还有如果只装了GUI Appium,也会报这个错,最好装⾮GUI版本。

2. Error:Message: Test method thod3 threw exception: verException:Unexpected error. The URL '/session' did not map to a valid resourcer原因:url 错了 //private const string WindowsApplicationDriverUrl = "127.0.0.1:4723";改成: private const string WindowsApplicationDriverUrl = "127.0.0.1:4723/wd/hub";3. 设置待测试APP的路径:itionalCapability("app", @"C:Program Files(x86)....... ****.exe");报错:verException: An unknown server-side error occurred while processing the command. Original error: Thesystem cannot find the file specified

这个是我犯的低级错误,⽬录中的(x86)前⾯有⼀个空格,加上空格就好了,为了解决这个问题费了好多时间,⼀开始还以为⾃⼰的⽅法不对。像这样路径之类信息⼀定要复制, 不能⼿动输⼊

4. 之前跑都可以的,可以执⾏点击或者双击,突然执⾏click()就报An unknown error occurred in the remote end while processing the command如果是Actions, 执⾏doubleclick() 就报Access Denied

Element 实际是有找到的,因为代码都没改变,环境也没变⽹上找了有很多⼈遇到类似的问题,特别是远程的时候,如果测试本地没问题,看了解答的,都没有找到根本原因,有时候莫名其妙就好了,有说重启电脑,切换语⾔的。我的解决办法:同样的代码,换成在本地跑,是可以过的,于是⼜切换成server上,发现也好了,莫名其妙的, 后⾯发现如果把待测APP所在server(我们⽤的是虚拟机)的窗⼝关闭或者最⼩化,就会报这个错,如果保打开状态,就没问题所以我的解决办法是:保持待测试APP所在server(机器)窗⼝打开。

下⾯是⽹上找⼀些办法,但是不能解决我的问题,也许能解决其他朋友的问题,列在这。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1688095275a80269.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信