AutoIT で Selenium チュートリアル: 使い方は?

⚡ スマートサマリー

AutoIt で Selenium は、自動化を行うフリーウェアのスクリプト言語です。 Windows GUIダイアログとネイティブポップアップ Selenium WebDriverは直接制御することはできないため、ファイルのアップロード、ダウンロード、認証プロンプトなどの処理において頼りになる補助ツールとなる。

  • 🤖 目的: AutoIt は拡張します Selenium 処理によって WindowsWebDriverロケーターではアクセスできない、ネイティブコントロール、ネイティブダイアログ、およびHTML以外のポップアップ。
  • 🪟 要素識別子: Au3Infoツールは、ウィンドウコントロールを検査し、信頼性の高い操作をスクリプト化するために使用されるタイトル、クラス、インスタンス属性を明らかにします。
  • ⚙️ コアメソッド: ControlFocus、ControlSetText、およびControlClickは、パスを入力してネイティブのファイルアップロードダイアログを送信するために必要な最小限の要素セットを構成します。
  • ✅ 統合: コンパイルされた FileUpload.exe は以下から起動されます Selenium Runtime.getRuntime().exec() を使用すると、AutoIt に制御をシームレスに渡したり、AutoIt から制御を取り戻したりできます。
  • 🧪 実用: ウォークスルーでは履歴書をアップロードします Guru99デモフォーム、エンドツーエンドの検証 Selenium さらにAutoItによる自動化フローも追加。

AutoIT で Selenium

AutoIt とは何ですか Selenium?

AutoItの は、自動化のために設計されたフリーウェアのスクリプト言語です。 Windows GUIと一般的なスクリプト。マウスの動き、キーストローク、ウィンドウ制御操作を組み合わせて、手作業では不可能なタスクを自動化します。 Selenium ウェブドライバー。

AutoItのダウンロードとインストール方法

ステップ1) これに行く リンクをクリックします。

ステップ2) 「AutoIt」と「AutoIt Editor」のドロップダウンメニューにカーソルを合わせます。

AutoItをダウンロードしてインストールする

ステップ3) 「AutoIt」のダウンロードオプションをクリックしてください。

AutoItをダウンロードしてインストールする

ステップ4) 「AutoItをダウンロード」ボタンをクリックして、「AutoIt」をダウンロードしてください。

AutoItをダウンロードしてインストールする

ステップ5) 「ダウンロード」ボタンをクリックして、「AutoItエディター」をダウンロードしてください。

AutoItをダウンロードしてインストールする

ステップ6) 以下に示すようにリンクをクリックします。

AutoItをダウンロードしてインストールする

ダウンロード後、下の画面に表示されているように、2 つのセットアップ ファイルが取得されます。1 つ目は AutoIt バージョン 3 セットアップとXNUMX番目は シタウトイト3.

AutoItをダウンロードしてインストールする

ステップ7) AutoItをインストールするには、AutoItのセットアップファイルを2つとも1つずつクリックしてください。

ステップ8) インストールが完了したら、AutoIt Editorを開きます。

「C:\Program Files (x86)\AutoIt3\SciTE」に移動します。

AutoItをダウンロードしてインストールする

そして「SciTE.exe」ファイルをクリックすると、下の画面に示すようにAutoItエディタが開きます。

AutoItをダウンロードしてインストールする

ステップ9) 次に要素識別子を開きます。

「C:\Program Files (x86)\AutoIt3」に移動してください。

AutoItをダウンロードしてインストールする

「Au3Info.exe」ファイルをクリックすると、下の画面に示すように要素識別子が開きます。

AutoItをダウンロードしてインストールする

注意: この要素識別子の使用が終わったら、手動で閉じる必要があります。自動的には閉じられません。

AutoIt の使い方 Selenium

この中で、AutoIt エディタの使い方と、AutoIt 要素識別子 (要素識別子は、次のようなツールです) を使用してファイル アップローダー ウィンドウ上の要素を見つける方法を見ていきます。 Selenium IDE; 識別子はウィンドウ GUI または非 HTML ポップアップの要素を見つけ、要素の属性を提供します。 タイトル, class, )そして、3つの方法を使用してAutoItエディタでスクリプトを作成する方法。

例: 私たちは「お問い合わせ」ページを使用します Guru履歴書(Docファイル)をアップロードするには99ドルかかります。

「お問い合わせ」ページから「ファイルを選択」ボタンをクリックした後、AutoItスクリプトを呼び出す必要があります。「ファイルを選択」をクリックすると、以下のステートメントによってすぐに制御がAutoItに移り、アップロード処理が実行されます。

Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

最後に、 Selenium スクリプトを実行すると、フォームに入力し、履歴書をアップロードして、フォームを送信します。

AutoIt を使用する Selenium

ステップ1) 次に、要素識別子を開きます。「C:\Program Files (x86)\AutoIt3」に移動し、「Au3Info.exe」ファイルをクリックすると、以下の画面に示すように要素識別子ウィンドウが開きます。

AutoIt を使用する Selenium

ステップ2) 次に、「ファイルを選択」をクリックしてファイルアップローダーウィンドウを開きます。 Windows 活動。

AutoIt を使用する Selenium

ステップ3) ファイルアップローダーウィンドウの「ファイル名」ボックス要素にファインダーツールをドラッグして、下の画面の矢印で示されているように、基本属性情報を見つけます。

AutoIt を使用する Selenium

属性の値を取得できます。 title='開く', クラス='編集' (NAIST) と インスタンス='1' 以下に示すように、これらの値は、後述のステップ4で説明するAutoItスクリプトの例を作成する際に使用されます。

AutoIt を使用する Selenium

ステップ4) 次に、AutoIt スクリプト エディタを開き、「C:\Program Files (x86)\AutoIt3\SciTE」に移動して、手順 1 の手順 7 で示されているように「SciTE.exe」をクリックします。st のトピックを参照してください。

アップロードするファイルを選択するためのスクリプトの作成を開始します。

要件に応じてスクリプトで使用できるメソッドは多数ありますが、ここではファイルアップロードスクリプトを作成するために必要な以下のメソッドに焦点を当てます。

  1. コントロールフォーカス(「タイトル」、「テキスト」、コントロールID) // 入力フォーカスをウィンドウ上の指定されたコントロールに設定します。
  2. コントロールセットテキスト(「タイトル」、「テキスト」、「コントロールID」、「アップロードするファイルパス」) // コントロールのテキストを設定します。
  3. コントロールクリック(「タイトル」、「テキスト」、コントロールID) //マウスクリックコマンドを指定されたコントロールに送信します。

下の画面に示すように、いくつかのメソッドが表示されます。AutoIt の優れた点は、 Eclipse それはいくつかの方法を示唆している。

AutoIt を使用する Selenium

AutoItエディタでは、 「集中力をコントロールする」 方法。 要素は上記の手順 3 ですでに識別されているため、要素識別子はすでに開かれ、最小化されています。最大化することで開くことができます。

さて、「ControlFocus」メソッドと「ControlSetText」メソッドでは、同じ要素、つまり「ファイル名」テキストボックスに対して動作するため、要素識別子から値を取得します。一方、「ControlClick」メソッドでは、別の要素、つまり「開く」ボタンの値を取得する必要があります。

パラメータ値 コントロールフォーカス 方法:

このメソッドは、ファイルアップローダーウィンドウの「ファイル名」テキストボックスにフォーカスを設定します。

  • 第1パラメータ タイトル は「オープン」です。
  • 2 番目のパラメータは無視します。 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 必須ではありません。
  • 3番目のパラメータ コントロールID これは、class='Edit' と Instance='1' の組み合わせ、つまり 'Edit1' です。
    ControlFocus("Open","","Edit1") // This method sets input focus to 'File name' text box.

AutoIt を使用する Selenium

パラメータ値 コントロールセットテキスト 方法:

このメソッドは、「ファイル名」テキストボックスにアップロードするファイルのパスを定義するために使用されます。言い換えれば、このメソッドは入力要素にテキストを設定するために使用されます。

  • 第1パラメータ タイトル は「オープン」です。
  • 2 番目のパラメータは無視します。 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 必須ではありません。
  • 3番目のパラメータ コントロールID これは、class='Edit' と Instance='1' の組み合わせ、つまり「Edit1」です。
  • 第4パラメータ 新しいテキストアップロードする必要のあるファイルのパスを渡します。
    ControlSetText("Open","","Edit1","E:\Resume\resume.doc") // This method inputs file path of a control.

AutoIt を使用する Selenium

上記の手順を実行した後、ウィンドウ(エディタと要素識別子)を閉じずに開いたままにしてください。次の手順5に示すように、「開く」ボタンの属性を確認するには、再度ファイルアップローダーウィンドウを開く必要があります。

ステップ5) ファイルアップローダーウィンドウの「開く」ボタン要素にファインダーツールをドラッグして、基本属性情報を見つけます。

以前の値(つまり、「ファイル名」テキストボックスの属性)は、「開く」ボタンの新しい値で上書きされます。AutoIt要素識別子ウィンドウで、クラス属性が以前は「edit」だったものが「button」に変更されていることが確認できます。

AutoIt を使用する Selenium

属性の値を取得できます。 title='開く', クラス='ボタン' (NAIST) と インスタンス='1' 以下に示すように、これらの値は、後述するようにAutoItスクリプトの作成に使用されます。

AutoIt を使用する Selenium

パラメータ値 コントロールクリック 方法:

この方法は、ファイルアップローダーウィンドウの「開く」ボタンをクリックします。

  • 第1パラメータ タイトル は「オープン」です。
  • 2番目のパラメータは無視します。 클라우드 기반 AI/ML및 고성능 컴퓨팅을 통한 디지털 트윈의 기초 – Edward Hsu, Rescale CPO 많은 엔지니어링 중심 기업에게 클라우드는 R&D디지털 전환의 첫 단계일 뿐입니다. 클라우드 자원을 활용해 엔지니어링 팀의 제약을 해결하는 단계를 넘어, 시뮬레이션 운영을 통합하고 최적화하며, 궁극적으로는 모델 기반의 협업과 의사 결정을 지원하여 신제품을 결정할 때 데이터 기반 엔지니어링을 적용하고자 합니다. Rescale은 이러한 혁신을 돕기 위해 컴퓨팅 추천 엔진, 통합 데이터 패브릭, 메타데이터 관리 등을 개발하고 있습니다. 이번 자리를 빌려 비즈니스 경쟁력 제고를 위한 디지털 트윈 및 디지털 스레드 전략 개발 방법에 대한 인사이트를 나누고자 합니다. 必須ではありません。
  • 3番目のパラメータ コントロールID クラスとインスタンスの組み合わせ、つまり「Button1」です。
ControlClick("Open","","Button1") //This method clicks on 'Open' button of file uploader.

AutoIt を使用する Selenium

ステップ6) 下の画面で、ファイルアップローダーを処理するための AutoIt スクリプトが完成したことがわかります。これで要素識別子を閉じて、スクリプトを「FileUpload」という名前で指定された場所 (E:\AutoIT) に保存できます。

AutoIt を使用する Selenium

このスクリプトは直接実行することはできません。コンパイルする必要があります。

このスクリプトをコンパイルするには、2 つのオプションがあります。スクリプト x64 をコンパイルします"と"スクリプト x86 をコンパイルします「もしあなたが Windows 32ビットマシンの場合は「スクリプト x86 をコンパイルします「そして Windows 64ビットマシンでは、「スクリプト x64 をコンパイルします

AutoIt を使用する Selenium

ステップ7) 「FileUpload.exe」 コンパイル後にファイルが生成されます。下の画面で確認できます。これでこのファイルを使用できます。 Selenium WebDriverスクリプト。

AutoIt を使用する Selenium

それでは、この AutoIt スクリプトを Selenium WebDriver。出力結果は以下をご覧ください。

ファイルのアップロード Selenium AutoItを使用する

で Selenium スクリプトでは、フォームの要素を見つけて、各要素に必要に応じてデータを入力し、AutoIt スクリプトから生成された AutoIt exe ファイルを実行して「resume.doc」ファイルをアップロードし、フォームを送信できるようにします。 Selenium AutoIt スクリプト。

  • 店は開いています Eclipse そしてコードを書き始めます。
  •    Selenium 「ファイルを選択」ボタンをクリックすると、ファイルアップローダーボックスが開きます。
  • 次に、AutoIt スクリプトを呼び出す必要があります。制御はすぐに AutoIt に移され、ファイルをアップロードし、その後制御が返されます。 Selenium としてジョブステータス出力ログに記録されます。

ファイルのアップロード先 Selenium AutoItを使用する

ステップ1) 開発する Selenium スクリプトイン Eclipse.

  • ランタイム クラスを使用すると、スクリプトが実行されている環境とスクリプトを接続できるようになります。
  • getRuntime() このプロセスに関連付けられている現在の実行時間を取得します。
  • exec() このメソッドはAutoItスクリプト(FileUpload.exe)を実行します。
Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");

上記の行は、 AutoItスクリプト in Selenium ファイルをアップロードします。

ファイルのアップロード先 Selenium AutoItを使用する

ステップ2) 実行する Selenium スクリプトイン Eclipse.

importjava.io.IOException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FileUpload {
public static void main(String[] args) throws IOException {
    WebDriver driver=new FirefoxDriver();
    driver.get("https://demo.guru99.com/test/autoit.html");
    driver.findElement(By.id("postjob")).click();

    driver.findElement(By.id("input_3")).sendKeys("Gaurav");
    driver.findElement(By.id("id_4")).sendKeys("test.test@gmail.com");
    driver.findElement(By.id("input_4")).click();
    // below line execute the AutoIT script .
     Runtime.getRuntime().exec("E:\\AutoIT\\FileUpload.exe");
    driver.findElement(By.id("input_6")).sendKeys("AutoIT in Selenium");
    driver.findElement(By.id("input_2")).click();
    driver.close();
     }
}

ステップ3) 出力結果を確認してください。resume.doc ファイルが正常にアップロードされ、感謝のメッセージが表示されます。

ファイルのアップロード先 Selenium AutoItを使用する

AutoIt を使用する理由

Selenium AutoIt は、さまざまなブラウザで Web ベースのアプリケーションを自動化するように設計されたオープンソースツールですが、アプリケーション内のウィンドウ GUI や非 HTML ポップアップを処理するには、 Selenium これらのウィンドウベースのアクティビティは処理されないため、必要です。 Selenium.

AutoItを使用する

この AutoIt チュートリアルでは、ファイルをアップロードする方法を学びます。 Selenium AutoIt を使用した WebDriver。これを行うには、3 つのツールが必要です。

  • Selenium webdriver
  • AutoItエディタと要素識別子
  • 自動化したいウィンドウ

よくあるご質問

Selenium WebDriverはブラウザ要素のみを制御します。AutoItはネイティブ要素を処理します。 Windows ファイルアップロードボックス、ダウンロードプロンプト、基本認証ウィンドウなど、WebDriverが直接操作できないダイアログ。

Au3Infoツールは、目に見えるあらゆるものを検査します。 Windows カーソル下のコントロールを取得し、そのタイトル、クラス、インスタンス値を返します。これらの属性は、ControlFocus、ControlSetText、ControlClick の各呼び出しに直接渡されます。

はい。.au3ソースファイルは、お使いのマシンに合わせてx86またはx64オプションを使用して.exeファイルにコンパイルする必要があります。 Selenium そして、Runtime.getRuntime().exec() を介してコンパイル済みの FileUpload.exe を呼び出します。

AutoItは Windows-専用ツール。 macOS Linuxのファイルダイアログの場合は、これらのオペレーティングシステムはAutoIt実行ファイルをサポートしていないため、AppleScript、xdotool、またはsendKeysをファイルパスに直接使用してください。

次のような AI を活用したツール TestimFunctionizeとMablは、コンピュータビジョンを使用してネイティブダイアログを視覚的なレイアウトで認識し、ロケーターロジックを自動生成します。これにより、不安定なダイアログや進化するダイアログを扱う際にAutoItスクリプトを使用する必要性が軽減されます。 Windows ポップアップ。

はい。ChatGPTやClaudeのような大規模な言語モデルは、対象となるダイアログ、コントロールID、アップロードパスなどを記述した平易な英語のプロンプトからAutoItスクリプトを生成でき、テスターはそれを改良してコンパイルすることができます。