2012-11-27 51 views
0

我需要給GWT輸入文本文件FileUpload並使用Selenium Webdriver進行測試。如何使用Selenium WebDriver爲GWT FileUpload提供輸入?

我有上傳小部件,在那我需要給一個文本文件作爲輸入。然後點擊上傳按鈕來完成我的功能。

enter image description here

我想這一點,

driver.findElement(By.id("uploadField")).sendKeys("C:/Desktop/Input.txt"); 
driver.findElement(By.id("uploadButton")).click(); 

,但我不能給輸入到該上傳字段。

任何人都可以幫助我嗎?

+0

PLZ表明你正在嘗試的,什麼是您所面臨的問題? –

+0

他正試圖從Selenium調用系統文件瀏覽器。這在Selenium 1中是不可能的。 – SSR

+0

好那我該怎麼做到這一點?我在Selenium2 WebDriver – Prince

回答

2

看到這個代碼工作對我來說看到:在的SendKeys

  driver.get("http://www.freepdfconvert.com/"); 
    driver.findElement(By.id("UploadedFile")).sendKeys("C:\\Users\\username\\Downloads\\HP1.pdf");  
    try { 
     Thread.sleep(4000); 
     } 
     catch (Exception e) {} 
    driver.findElement(By.name("pdfsubmit")).click(); 
     } 

driver.findElement(By.id("uploadField")).sendKeys("C:/xyz.txt"); 
    driver.findElement(By.name("uploadButton")).click(); 

使用名字或XPath然後檢查使用正確的文件路徑。

編輯

是的,它運行於所有瀏覽器,但IE瀏覽器和Chrome必須添加小的代碼。 IE:

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer(); 
      ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); 
      WebDriver driver = new InternetExplorerDriver(ieCapabilities); 

File file = new File("E://chromedriver.exe"); 
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
    WebDriver driver = new InternetExplorerDriver();` 
+0

@Prince這個代碼適用於你嗎?讓我知道 –

+0

它的工作。謝謝。錯誤是我用'/'代替'\',即'\\'。我現在更新爲'\\'。它的工作。很好的答案。謝謝。 – Prince

+0

祝你好運.............. :) –

相關問題