IE と FF ではファイル入力の処理が若干異なるため、問題は Internet Explorer を使用している場合にのみ発生すると思います。FF ではボタンまたはフィールドをクリックして [開く] ダイアログを呼び出すことができますが、IE ではボタンまたはダブルをクリックできます-フィールドをクリックします。
ネイティブ イベントを使用する WebDriver は、入力フィールドのクリックに変換されるファイル入力コントロールにネイティブ マウス クリックを送信します。
JavaScript を使用してイベントを発生させるため、Selenium 1 で動作していました。WebDriver で機能させるには、JavaScript を呼び出す必要があります。
WebElement upload = driver.findElement(By.name("Passport"));
((JavascriptExecutor)driver).executeScript("arguments[0].click();", upload);
ただし、上記のコードは Firefox では使用できないため、次のようなものを使用できます。
WebElement upload = driver.findElement(By.name("Passport"));
if (driver instanceof InternetExplorerDriver) {
((JavascriptExecutor)driver).executeScript("arguments[0].click();", upload);
} else {
upload.click();
}