2
我在爲我的Primefaces頁面使用Webdriver和HTMLUnit編寫測試時遇到了問題。使用Webdriver進行PrimeFaces文件上傳
我做什麼是添加一個簡單的文件上傳Primefaces的頁面,這將需要一個CSV文件(沒有驗證尚未),像這樣:
<p:fileUpload id="listFileUpload" mode="simple" value="#{fileImportView.file}" />
這確實使一個UploadedFile的對象從Firefox中使用時可用於我的偵聽器方法。
但是,當通過測試調用相同的偵聽器時,生成的UploadedFile爲空。要提交表單之前給文件上傳字段的值,我使用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確實不同。嘗試在發送密鑰之前打印出以前的值,以便知道找到了webelement。 – 2012-02-21 15:35:45
是的,我確定webelement不是null,而且它是正確的。如果找不到,WebDriver也會拋出異常。 – Aedilum 2012-02-22 10:12:48
在這種情況下,你能否提供一個鏈接到應用程序?代碼的位似乎很好... – 2012-02-22 10:28:34