私のPrimefacesページにWebdriverとHTMLUnitを使ってテストを書く際に問題があります。WebdriverをPrimeFacesファイルのアップロードに使用する
<p:fileUpload id="listFileUpload" mode="simple" value="#{fileImportView.file}" />
これ確かにUploadedFileオブジェクトを作成します:私がやった何
はこのように、簡単なPrimefacesは、CSVファイル(まだとして検証なし)を取るのページへのファイルアップロードを追加することですFirefoxから使用した場合、リスナーメソッドで使用できます。
ただし、テストを通じて同じリスナーが呼び出された場合、結果のUploadedFileはnullになります。フォームを送信する前にファイルアップロードフィールドに値を与えるために、私はこのようなのSendKeysを使用します。
WebElement drawListFileUpload = webDriver.findElement(By.id("accordionPanel:listFileUpload"));
drawListFileUpload.clear();
drawListFileUpload.sendKeys(file);
誰もが何が起こっているのか見ることができますか?私は使用しているHTMLUnitドライバに関する回答を探しましたが、まだ葉巻はありません...同様のコードは同じ形式のPrimefacesカレンダーで正常に動作するようです。
Here's a link to access the application
webelementがnullではありませんか?サンプルのHTMLコードとJavaコードのIDは異なります。キーを送信する前に前の値を印刷して、Web要素が見つかったことを確認してください。 –
うん、私はwebelementがnullではないと確信しています、それは正しいものです。見つからなかった場合、WebDriverは例外もスローします。 – Aedilum
その場合、アプリケーションへのリンクを提供できますか?コードのビットはうまくいくようです... –