how handle windows pop up selenium using autoit
このチュートリアルでは、AutoITツールを使用して自動化がスコープ外になるたびにSeleniumでウィンドウポップアップを処理するさまざまな方法について説明します。
AutoITは、SeleniumがWindows認証ポップアップ、Flashアプリケーション、デスクトップアプリケーションなどのポップアップを処理するのに役立つサードパーティツールです。
Seleniumは、Webアプリケーションの自動化のみに制限されています。場合によっては、Seleniumが処理できないアプリケーションにWindowsポップアップが表示されることがあります。このようなシナリオを処理するために、AutoITはWindowsポップアップとデスクトップアプリケーションの自動化を処理する支援を提供します。
=> すべての人のためのSeleniumトレーニングシリーズを見るには、ここにアクセスしてください。
学習内容:
AutoITツールの概要
これがビデオチュートリアルです:
AutoITを使用してWindowsポップアップを処理する
AutoITは、Windowsベースのアプリケーションを処理するために使用されるサードパーティのツールです。使用されるスクリプト言語はVBScriptと呼ばれます。AutoItもフリーウェアです。それはの組み合わせを使用しますセレンWebドライバーでは実行できないアクションを自動化するためのマウスの動きとキーボードストローク。
AutoItは.exe形式で使用されるため、SeleniumAutomationスクリプトで使用できます。
見てみましょう 例、 ここで私たちはする必要があります ファイルをアップロードする アプリケーションに。
シナリオは、LinkedInにプロフィール写真をアップロードすることです。このシナリオのテスト手順は次のとおりです。
- URLを入力
- 有効なユーザー名とパスワードを入力して、ログインしてください。
- プロファイルアップロードアイコンをクリックします。
- 画像をアップロードするためのパスが入力されたウィンドウポップアップが表示されます。
ステップ3まで、SeleniumAutomationはそれを処理できます。 Windowsポップアップが表示されたら、AutoITスクリプトを使用してその部分を自動化します。
では、Windowsポップアップでアクションを自動化する方法を見てみましょう。
これは4つの異なる方法で処理できます。
- Windowsコマンドを使用して特定のファイルをアップロードします。
- 制御コマンドを使用してファイルをアップロードします。
- コマンドライン引数を使用して、アップロードするファイル名を指定します。
- AutoIT記録ツールを使用する。
すべてのスクリプトは、 AutoItScriptEditor、 AutoItフォルダーパッケージで利用可能です。
案内する AutoIt3> SciTE> SciTE.exe ScriptEditorアプリケーションを開きます。

#1)Windowsコマンドの使用
AutoItにはさまざまな機能セットがあります。
あなたは見ることができます ここに。 ここで、Windowsポップアップアクションを自動化するために、最初にアクションを分析しましょう。 これらには以下が含まれます:
- 現在のウィンドウにフォーカスを設定します。
- アップロードするファイル名のパスを(ファイル名)ボックスに入力します。
- (開く)ボタンをクリックするか、キーボードのEnterキーを押します。

上記の点を詳しく理解しましょう。
- 現在のウィンドウにフォーカスを設定します
WinWaitActive :カーソルのフォーカスを指定したウィンドウ名に設定します。この場合、ウィンドウのタイトルは「開く」です。したがって、コマンドを次のように指定しますWinWaitActive( 'Open')。
同じWindowsタイトルはブラウザごとに異なることに注意してください。
いう、 Firefox用 、それは「ファイルアップロード」です—したがって、AutoITコマンドはWinWaitActive( 'ファイルのアップロード')。
IEの場合、 それは「アップロードするファイル」です—したがって、AutoITコマンドはWinWaitActive( 'アップロードするファイル')
Chromeの場合 、それは「オープン」です—したがって、AutoITコマンドはWinWaitActive( 'Open')
自動化に使用するブラウザーに基づいて、ウィンドウのタイトルを指定する必要があります。
2.2。 アップロードするファイル名のパスを(ファイル名)ボックスに入力します
送信 –キーボードストロークを送信します。つまり、キーボードアクションをシミュレートします。
アクションは、Enterキー、Shiftキーなどを押すことである可能性があります。または、文字列や数字などを入力します。この例では、fileNameを入力する必要があるため、コマンドを使用してウィンドウにファイル名を入力します。 –Send(“ D: passport.jpg”)
3.3。 (開く)ボタンをクリックするか、キーボードでEnterキーを押します
Send({ENTER})– ENTERキーストロークをウィンドウに送信します。ウィンドウは、アップロードのアクションを完了します。
オンラインで最高の無料のyoutubeからmp3へのコンバーター
作成したスクリプトを任意の場所に保存します。 .au3形式で保存されます。保存したら、.au3ファイルを右クリックしてコンパイルします。

コンパイル後、.exe形式(実行可能形式)に変換されます。このファイルは、Seleniumスクリプトで使用するものです。

.exeファイルが作成されると、Selenium Automationスクリプト内のファイルを使用して、そのファイル内のコマンドを実行できます。
Runtime.getRuntime.exec(“ここでautoIt exeファイル名を指定してください”)

#2)制御コマンドの使用
AutoITには、アクションを実行するための特定の制御コマンドがあります。 AutoITの制御コマンドのリストは次のとおりです。

AutoITのこれらの制御コマンドを使用して同じファイルアップロードシナリオを自動化する方法を見てみましょう。
さて、順番に Windowsポップアップを自動化するには、以下のアクションを実行します。
- 現在のウィンドウにフォーカスを設定します。
- アップロードするファイル名のパスを(ファイル名)ボックスに入力します。
- (開く)ボタンをクリックするか、キーボードのEnterキーを押します。
上記の点を詳しく理解しましょう。
- 現在のウィンドウにフォーカスを設定します
ControlFocus:指定された要素にフォーカスを設定します。この場合、フォーカスを編集テキストボックスに設定します。

その説明を見ると、1つ以上のパラメーターが必要であることがわかります。 AutoItのWindowsInfoツールを使用して、これらのパラメーターを渡すことができます。
しましょう 以下のようにAutoITアプリケーションを開きます。

Windows情報ツールは次のように開きます。

このツールは、Windowsアプリケーション/ポップアップの要素を検査するために使用されます。
Windowsポップアップの各要素のさまざまな属性を取得するには、Windows情報ツールの「Finder」アイコンをドラッグし、要素をクリックして次のようにプロパティを表示します。

図のように、ツールにプロパティが表示されます。
FileNameボックスの場合、プロパティとそれに対応する値は次のとおりです。
- タイトル–オープン
- ClassName –編集
- インスタンス– 1
これらのプロパティを使用して、制御コマンドのパラメーターを渡すことができます。
ここで、ファイル名ボックスにフォーカスを設定するために、次のようにコマンド「ControlFocus」を呼び出します。
- 構文: ControlFocus(「タイトル」、「テキスト」、controlID)
- 「タイトル」は、ツールに表示されるタイトルに対応しています。
- コントロールIDは、ツール内のClassName +インスタンスの組み合わせです。
ControlFocus(“ Open”、””、” Edit1”)
どこ、
- オープン–タイトルです
- Edit1 –はcontrolIDです(controlID = ClassName + Instance)
2.2。 アップロードするファイル名のパスを(ファイル名)ボックスに入力します
ControlSetText –要素にテキストを入力します。
- 構文: ControlSetText(「タイトル」、「テキスト」、controlID、「新しいテキスト」(、フラグ= 0))

この場合、テキストボックスにファイル名があります。
ControlSetText(“ Open”、””、” Edit1”、“ D: passport.jpg”)
どこ、
- オープン–タイトルです
- Edit1 –はcontrolIDです(controlID = ClassName + Instance)
- D: passport.jpg –アップロードするファイル名です
3.3。 (開く)ボタンをクリックするか、キーボードでEnterキーを押します
ControlClick –要素に対してクリックアクションを実行します。この例では、「開く」ボタンをクリックして実行します
- 構文: ControlClick(“ title”、“ text”、controlID (、button =“ left” (、clicks = 1 (、x (、y)))))

この場合、Windowsポップアップの(開く)ボタンをクリックする必要があります。
ControlClick(“ Open”、””、” Button1”)
どこ、
- オープン–タイトルです
- Button1 –コントロールIDです(controlID = ClassName + Instance)
次のコマンドを使用して、Seleniumコードから.exeファイルを呼び出します-Runtime.getRuntime.exec(“ここでautoIt exeファイル名を指定してください”)

注意: 1つのインスタンスで複数のファイルをアップロードする必要がある場合は、変数にすべてのファイル名を指定し、コマンドで変数名を渡すことができます。

ControlFocus –要素にフォーカスを設定します。
$ files –作成された変数であり、アップロードされるテキスト/ファイル名を保持します。
ControlSetText –アップロードするファイル名を持つ変数を要素「編集」に渡します。
ContolClick –要素に対してクリックアクションを実行します。
#3)コマンドラインを使用してアップロードするファイル名を指定する
同じ手順は、ファイル名がユーザーから取得される別の方法でアプローチできます。これは、コマンドラインアプローチを使用して行われます。

AutoITでファイル名を直接指定する代わりに、以下のようにSeleniumコードでファイル名を渡します。
AutoITスクリプト:(Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)セレンコードの場合:
次のように指定します:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)この場合、
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)作成したファイルを保存してコンパイルし、実行可能形式に変換します。
#4)AutoITのレコード機能の使用
この機能は、3.3.14.0より前のバージョンでのみ使用できます。それ以降のバージョンは、この機能をサポートしていません。
記録ツールを開くには、AutoIt3> Extras> Au3Record> Au3Record.exeに移動します。

これを使い始めるときは、マウスの操作は画面の解像度ごとに異なるため、必ず(マウスの記録)オプションの選択を解除してください。常にキーボードのストロークを記録してください。
ツールで(クリックして記録)を選択すると、アクションが記録されます。 
録音が終了したら、(クリックして停止)を選択し、ファイルを保存します
保存した.au3ファイルを開くと、実行したアクションごとに作成されたコマンドを確認できます。

スクリプトをコンパイルし、.exeファイルに変換します。
作成された.exeファイルは、以下のようにSeleniumコードで直接使用して実行できます。
Runtime.getRuntime.exec(“D:automationRecord.exe”)結論
したがって、認証、ファイルのアップロード、ファイルを開くなどのWindowsポップアップは、Seleniumにスクリプトファイルを含めることでAutoITを使用して処理できます。
次の章では、画像認識技術を使用してアプリケーションを自動化するために使用されるSikuliと呼ばれる別のサードパーティツールについて学習します。
=> Seleniumを最初から学ぶには、ここにアクセスしてください。
推奨読書
- Selenium WebDriverでアラート/ポップアップを処理する方法-Seleniumチュートリアル#16
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- トップ10のSelenium例外とこれらの処理方法(正確なコード)
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- AutoItチュートリアル-AutoItのダウンロード、インストール、基本的なAutoItスクリプト
- ChromeDriver Seleniumチュートリアル:ChromeでのSeleniumWebdriverテスト
- 30以上の最高のSeleniumチュートリアル:実際の例でSeleniumを学ぶ
- セレンの専門家のためのパートタイムのフリーランスの仕事の機会