windows应用自动化测试学习笔记

参考文档

Airtest Project Docs(入门介绍):https://airtest.doc.io.netease.com/

Airtest API:https://airtest.readthedocs.io/zh_CN/latest/index.html

Pywinauto APIhttps://pywinauto.readthedocs.io/en/latest/contents.html

启动spy++:https://docs.microsoft.com/zh-cn/visualstudio/debugger/how-to-start-spy-increment?view=vs-2019

https://testerhome.com/columns/Netease_AirtestProject

原理简介

        基于python3.6(因为airtest库只支持3.7以下版本)、Airtest的自动化测试windows应用。

        工具包括Airtest、spy++

        python库包括win32gui库

        spy++属于Visual Studio的内置工具,可以查看Windows窗口的类名、窗口标题,在Visual Studiod的工具组件中下载安装“调试和测试”-“C++ 分析工具”、“开发活动”-“C++ 核心功能”,完成后再菜单的“工具”列表可以看到spy++,具体可参考官方文档。

        Airetest上的Windows自动化部分是基于pywinauto库的,目前(2020/12/15)只有python3.7以下的版本支持pywinauto库,不过安装Airtest后不需要再装这些乱七八糟的,可以直接使用。

        创建Airtest的纯Python项目,准备完成后正式开始编写自动化测试脚本。

在Airtest创建脚本的资源文件

        创建“.air Airtest项目”项目时,可以选择脚本、截图的存放路径,但是log的路径是设置中固定的。每次创建新项目时都修改设置中的截图路径,保持脚本目录整洁。

        创建“.py 纯Python”项目时,所有路径都可自定义,在自动生成的脚本中device内的连接方式默认为Android,需要改为Windows。

捕捉窗口

        虽然Airtest提供了捕捉窗口的接口,但是当涉及到测试多个进程时,它就不太好用了,可能是我没研究明白。

        这里不使用Aritest提供的选择窗口,创建好工程后直接改代码。

        使用spy++获得测试目标窗口的窗口标题、类名,在spy++界面内CTRL+F,然后查看在程序工具,光标移动到目标窗口即可。

        接下来回到脚本内导入win32gui库,利用win32gui.FindWindow(类名, 窗口标题)获得窗口的句柄handle,再使用win32gui.SetForegroundWindow(句柄)可以将窗口前置,通过这种方式来达到选择窗口的方式,切窗口之前记得sleep一下。

        选择窗口后,就需要操作了,这里就要使用Airtest了,将“Windows窗口连接”设为连接桌面,就可以使用“Airtest辅助窗”内的操作了。

你可能感兴趣的:(windows应用自动化测试学习笔记)