你好我试图使用WebDriver扩展来获取selenium,但是,试图上传一个文件即将成为unstuck。本地文件通过使用机器人上传,例如:robot.keyPress(KeyEvent.VK_ENTER);
然而,在网格上,机器人没有按预期工作。如何使用带有WebDriver扩展名的Selenium将文件上传到webapp?
答案 0 :(得分:0)
我希望您尝试将文件从本地计算机上传到应用程序? 您正在触发的机器人命令将应用于运行脚本的机器(执行java的机器),它们不会传递给节点机器。
来自文档: 您需要做的就是使用sendKeys命令在任何文件字段中键入文件的本地路径。这就像所有司机的魅力一样。将此测试移动到远程服务器(例如,我们的Selenium 2 Cloud)时,您需要做的就是使用setFileDetector方法让WebDriver知道您将文件从本地计算机上传到远程服务器服务器,而不只是键入路径。几乎神奇的是,在编写固定的远程路径之前,文件将进行base64编码并透明地通过JSONWireProtocol发送。
driver.setFileDetector(new LocalFileDetector());
...
WebElement upload = driver.findElement(By.id("fileupload"));
upload.sendKeys("/path/to/file.jpg");
driver.findElement(By.id("upload")).click();