1

手順

  1. Firefox の [参照] ボタンをクリックします。
  2. ウィンドウ ダイアログを開きます (ファイルの参照)
  3. ファイルを選択します (AutoIt スクリプト)

Java コード

    driver.findElement(By.xpath("")).click();
    String path = "C:\\FileUpload.Av3.exe";
    driver.findElement(By.xpath (")).click(); - Browse Button in Web application

    try {
          Runtime.getRuntime().exec(path); - Execute AutoIT .exe file
    } catch (IOException e) {
          e.printStackTrace();
    }

働く

  1. Java コードの 2 行目にブレークポイントを置き、
  2. コメント行 3 と
  3. 参照ボタンをクリックし、
  4. 手動でクリックした後も実行を継続

これは AutoIt で問題なく動作します。

動作していません

3 行目以降、実行は続行されず、コントロールは Firefox から Selenium に戻されません。

4

4 に答える 4

4

Selenium WebDriver では処理できません。sendKeysFile Input 要素にファイルへのローカル パスを挿入するために使用します。

String path = "C:\FileUpload.Av3.exe";
driver.findElement(By.xpath("/path/to/the/file/input/element")).sendKeys(path);

Selenium WebDriver の FAQ ドキュメントを参照してください。

于 2013-04-16T22:24:34.717 に答える
0

Click 呼び出しはブロッキング呼び出しであり、ページが読み込まれるまで返されません。クリックするとダイアログボックスが開くため、ダイアログボックスを閉じるまでクリックは戻りません。

これを回避するには、別のスレッドで Click を呼び出してから、AutoIt スクリプトを呼び出します。AutoIt スクリプトがダイアログ ボックスを閉じると、クリックが戻り、残りのテストを続行できます。

于 2013-05-18T20:23:10.343 に答える