Airtest:Windows桌面应用自动化测试(一)

一、我为什么选择Airtest?

1、因为它集成了pywinauto

pywinauto:Windows桌面应用自动化测试(一)_Lion King的博客-CSDN博客一、我为什么使用pywinauto模块1、因为我之前采用的方案遇到的问题,使我不得不改变方案Appium: Windows系统桌面应用自动化测试(二)_Lion King的博客-CSDN博客一、获取不到操作句柄的问题1、下图是通过python脚本连接的不同应用2、应用一:有sessionId,说明会话正常,可通过句柄操作应用3、应用二:报500错误https://blog.csdn.net/weixin_43431593/article/details/1242998512、因为大厂也在基于pywihttps://blog.csdn.net/weixin_43431593/article/details/124378355

2、我相信他应该是比pywinauto更强大的东西

3、我想使用它实现Windows桌面应用自动化

二、官方文档

1、中文

欢迎使用 - Airtest Project DocsAirtest Project Docshttps://airtest.doc.io.netease.com/2、github

Airtest — airtest 文档https://airtest.readthedocs.io/zh_CN/latest/README_MORE.html

三、环境搭建

1、使用官方推荐的Airtest IDE

安装与启动 - Airtest Project DocsAirtest Project Docshttps://airtest.doc.io.netease.com/IDEdocs/3.1getting_started/AirtestIDE_install/

四、简易操作

1、模拟双击桌面应用

(1)使用IDE连接桌面(2种方式)

(2)点击touch去选择图标,并双击

(3)注意事项

如果没有连接桌面,可能点击touch没法选择,或者touch直接置灰,而且运行时将报错

(4)验证结果

这个双击桌面应用图标并没有成功打开应用

2、连接应用窗口

(1)嵌入方式连接(2种方式连接应用窗口)

不推荐嵌入方式连接桌面应用,因为桌面应用界面太大了,不像手机应用友好。当然,可以单独作为一个窗口分离出来,只是会有一些不兼容或不好用的情况,如窗口改变会自动从IDE分离出来。但是,这个功能有着非常鸡肋(至少1.2.13的win应用是这样)的脚本录制功能,可在写代码阶段使用,需要以嵌入的方式录制

 (2)非嵌入方式连接

设置好后按照嵌入式方式连接窗口的操作步骤,即可实现连接

 

 (3)使用脚本连接应用

① 使用窗口句柄

不推荐这种方式,因为这个句柄会改变。

auto_setup(__file__,devices=["Windows:///133194"])

② 使用正则表达式匹配窗口TITLE

推荐使用这种方式,窗口TITLE一般不变。

# 例如匹配“吹梦到西洲”后面跟着换行符以外的任意字符的窗口title
auto_setup(__file__,devices=["Windows:///?title_re=吹梦到西洲.*"])

③ 连接WINDOWS桌面

不指定devices具体参数,连接的就是桌面。

auto_setup(__file__,devices=["Windows:///"])

不指定devices参数,将没有连接对象而给出报错信息,或连接IDE已经连接的对象成功(对象中有该目标时成功,没有将报错)

auto_setup(__file__)

 

 

(4)注意事项

① 运行代码时,最好不要通过IDE连接窗口,而是通过代码连接

②运行代码的连接对象,如果要通过IDE连接,代码应该与实际连接对象保持一致

 3、编写代码时,图片与代码的转换

 4、运行程序时,要求可见

(1)对象不可见时,将会报错

(2)IDE内的图标也会被点击

解决方案:要么加延时,运行后将IDE缩到最小;要么指令运行代码;要么脚本里指定连接对象运行(需要注意,如果是桌面,将是全局的)

5、连接32位应用要求32位python

如图提示,要求应用连接时,python位数与应用保持一致,这种情况可以使用句柄方式操作(虽然不推荐)。

 

 6、录制脚本

这个功能在录制win应用脚本时,并不好用,如双击图标不能录制、输入字符不能录制等等,目前(1.2.13的win应用录制)非常鸡肋。

猜你喜欢

转载自blog.csdn.net/weixin_43431593/article/details/124380419