2016-03-03 70 views
0

我有一個測試,我需要自動化文件上傳。我嘗試使用模擬器,我也使用本地文件,當我在本地計算機上運行測試時,一切工作正常。另外,要注意的是,在跨域的情況下,模擬器失敗。所以作爲一個解決方法,我嘗試使用一個文件,該文件位於bamboo-home文件夾下。它在本地工作正常,但我的實際測試運行在通過代理服務器運行測試的雲中。 Bamboo允許我訪問/瀏覽其生成文件夾中的文件,但它不允許我上傳文件。嘗試使用模擬器訪問代理服務器的文件也失敗了。這裏的問題也是一樣的,我可以瀏覽文件夾,但無法上傳文件。不知道它的讀/寫權限,因爲我試圖給予完整的訪問權限。任何人有解決這個問題的想法嗎?任何解決方法?我也在通過醬汁實驗室追加竹子。從雲中竹測試文件上傳硒web驅動程序測試

回答

1

你的上傳元素是什麼樣的?它是一個「文件」類型的元素? 如果是,那麼你應該能夠使用做以下

當RemoteWebDriver在網格設置工作

WebElement El = driver.findElement(By.id("uploadElement")); 
((RemoteWebElement) El).setFileDetector(new LocalFileDetector()); 
String file = "src/test/resources/foo.txt"; 
El.sendKeys(new File(file).getAbsolutePath()); 

當RemoteWebDriver在本地系統中的其它風味[瀏覽器中打開了工作在測試運行在同一臺機器]

WebElement El = driver.findElement(By.id("uploadElement")); 
String file = "src/test/resources/foo.txt"; 
El.sendKeys(new File(file).getAbsolutePath()); 
+0

我西港島線與你的答案感謝嘗試 – wingskush

+0

喜克里希南,有下remotewebelement的方法沒有setfiledetector?爲什麼它不顯示在我的遠程控制下? – wingskush

+0

我沒有完全明白你在問什麼。 setFileLocator是RemoteWebElement的一部分。 請參閱javadocs:http://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebElement.html#setFileDetector-org.openqa.selenium.remote.FileDetector- –