2016-03-03 49 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- –