Selenium RC 1.0 betaでのファイルアップロードのテスト
Selenium 1.0では、DefaultSeleniumにattachFileというコマンドが追加されています。
// ファイル名はURLで渡す。 selenium.attachFile("inputFile", "file:/C:/test.txt"); // もしくは、URLへの変換 selenium.attachFile("inputFile", new File("C:/test.txt").toURI().toURL().toString()); // typeでもOK selenium.type("inputFile", "file:/C:/test.txt");
attachFileでは指定されたファイルをいったんTempフォルダにコピーしてからアップロードしています。URLでローカル以外のファイルも指定できるためだと思いますが、typeコマンドも使えるのでそちらの方がコピーがないぶん、オーバーヘッドが少ないかもしれません。
先日ここで書いた、Selenium RC 1.0からファイルアップロードの際のセキュリティの設定は不要になったと書いたのですがこれは間違いかもしれません。1.0 Beta2からブラウザの指定を"*firefox"とした場合の、Firefoxの起動方法が変わっています。なので、これまでも"*chrome"としていればセキュリティの設定は不要だったかもしれません(いますぐに検証できないのですが)。