目前流行的自動化就是web,app,接口算是目前最主流的測試內容了,那么如果讓做安裝windows上的客戶端自動化呢?是不是一臉懵?今天安靜給大家介紹python的第三方庫,可以幫助我們做客戶端的自動化
pywinauto
pywinauto是一組用於自動化Microsoft Windows GUI的python模塊。 最簡單的是,它允許您將鼠標和鍵盤操作發送到窗口對話框和控件,來完成我們自動化操作。
官方文檔:http://pywinauto.github.io/
安裝:
方法一:
通過pip進行安裝:pip install pywinauto

方法二:
https://github.com/pywinauto/pywinauto/releases中下載最新的pywinauto,解壓並允許 python setup.py install 進行安裝
驗證是否安裝成功:
方法一:
直接打開python,進行導入對應的庫

方法二:
通過pip進行查看 pip list

小試牛刀
在練習之前,需要先了解一個內容,目前pywinauto支持2種查看客戶端控件內容
-
Win32 API (
backend="win32") - 現在的默認backend- MFC, VB6, VCL, 簡單的WinForms控件和大多數舊的遺留應用程序
-
MS UI Automation (
backend="uia")- WinForms, WPF, Store apps, Qt5, 瀏覽器
注意: Chrome在啟動之前需要
--force-renderer-accessibilitycmd標志。 由於comtypes Python庫限制,不支持自定義屬性和控件。
如果不確定自己的軟件測試時哪一種,我們先用默認的,如果運行過程中會報提示, UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python) UserWarning)
檢測控件軟件:
我們可以通過以下三種軟件進行檢測應用的控件或窗口,來進行操作
1、Spy++ 包含在MS Visual Studio發行版(甚至是Express或Community)中,可通過“開始”菜單訪問。 它使用Win32 API。 這意味着如果Spy ++能夠顯示所有控件,那么“win32”`backend就是你需要的。 AutoIt Window Info工具是一種Spy ++克隆。
2、Inspect.exe 是Microsoft創建的另一個很棒的工具。 它包含在Windows SDK中,因此可以在x64 Windows上的以下位置找到它:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64
如果以上路徑不存在,請自行下載安裝:https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/
3、ViewWizard軟件,可以非常方便的檢測到我們需要用到的控件類型。
安裝也安裝完成了,查看也查看過了,那么先進行啟動我們的客戶端進行測試吧(這里通過的是記事本)
# coding:utf-8 # 導入pywinauto庫 from pywinauto import application # 直接啟動記事本 app = application.Application().start('notepad.exe')

