ソフトウェアテスト | 自動化されたインターフェイス操作アーティファクト pywinauto チュートリアル (1)

さらに技術的なコンテンツを共有するには、クリックしてください!

序文

Pywinauto は、Windows アプリケーションのインターフェイス操作を自動化するための強力な Python ライブラリです。GUI テスト、データ収集、自動化タスクのいずれであっても、Pywinauto は便利なソリューションを提供できます。この記事では、読者がすぐに使い始めて Windows インターフェイス操作の自動化を開始できるように、Pywinauto の基本的な使用法を紹介します。

インストール

pywinauto のインストールは他のライブラリと同様で、必要なコマンドは次の 1 つだけです。

pip install pywinauto 

インポートモジュール

Python スクリプトで Pywinauto の必要なモジュールをインポートします (通常Applicationは と が含まれますfindwindows)。

from pywinauto import Application
from pywinauto import findwindows

アプリケーションを開始する

Applicationクラスのメソッドを使用してstart()ターゲット アプリケーションを起動します。次の例は、メモ帳アプリケーションを起動する方法を示しています。

app = Application().start("notepad.exe")

スクリプトを実行すると、以下に示すように、空白のメモ帳ページが開きます。

ここに画像の説明を挿入します

アプリケーションウィンドウに接続する

findwindowsモジュールの関数を使用してfind_windows()アプリケーション ウィンドウのハンドルを見つけ、Applicationクラスのconnect()メソッドを使用してウィンドウに接続します。

handle = findwindows.find_windows(title='Untitled - Notepad', class_name='Notepad')[0]
app = Application().connect(handle=handle)

ハンドル検索時にエラーが発生した場合、タスクマネージャーでアプリケーションのプロセスIDを確認する、つまりPIDプロセスIDで接続する方法は以下の通りです。

ここに画像の説明を挿入します

handle = findwindows.find_windows(process=14720)[0]
app = Application().connect(handle=handle)

アプリケーションウィンドウコントロールの操作

Applicationクラスのメソッドを使用してwindow()アプリケーション ウィンドウ オブジェクトを取得すると、コントロールのプロパティとメソッドを通じてウィンドウを操作できます。次の例は、メモ帳にテキストを入力して保存する方法を示しています。

window = app.window(title='Untitled - Notepad')
edit = window.Edit
edit.type_keys("曼城是冠军!")
window.menu_select("File->Save")
window.SaveAs.Edit.set_text("test.txt")
window.SaveAs.Save.click()

ダイアログ ボックスとメッセージ ボックスの処理

ポップアップダイアログボックスやメッセージボックスはApplicationクラスDialogメソッドを使用して操作できます。次の例は、保存確認ダイアログを処理する方法を示しています。

dialog = app.Dialog
dialog.SaveAs.Yes.click()

アプリケーションを閉じる

操作が完了したら、Applicationクラスのメソッドを使用してkill()アプリケーションを閉じることができます。

app.kill()

要約する

この記事では、インストール、モジュールのインポート、アプリケーションの起動、アプリケーション ウィンドウへの接続、ウィンドウ コントロールの操作、ダイアログ ボックスやメッセージ ボックスの処理、アプリケーションの終了など、Pywinauto の基本的な使用方法を紹介します。これらの基本的な概念とテクニックを習得することで、読者は Pywinauto を使用して Windows インターフェイスの操作を簡単に自動化し、作業効率を向上させることができます。この記事が Pywinauto を始めるのに役立つことを願っています。

さらに技術的なコンテンツを共有するには、クリックしてください!

おすすめ

転載: blog.csdn.net/Tester_muller/article/details/131154953