【发布时间】:2013-04-25 02:15:02
【问题描述】:
我拥有的一个测试用例是将文件上传到应用程序。没有网格,这可以通过创建一个虚假文件并获取文件的绝对路径并填写输入字段并单击上传来轻松完成。但是,当我使用网格时,文件不在托管节点的机器上。无论如何将文件发送到节点或告诉节点创建文件并获取绝对路径。
【问题讨论】:
标签: java selenium-webdriver selenium-grid
我拥有的一个测试用例是将文件上传到应用程序。没有网格,这可以通过创建一个虚假文件并获取文件的绝对路径并填写输入字段并单击上传来轻松完成。但是,当我使用网格时,文件不在托管节点的机器上。无论如何将文件发送到节点或告诉节点创建文件并获取绝对路径。
【问题讨论】:
标签: java selenium-webdriver selenium-grid
一旦你知道怎么做,其实很简单,只需设置一个本地文件检测器。
import org.openqa.selenium.remote.LocalFileDetector
import org.openqa.selenium.remote.RemoteWebDriver
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.firefox());
driver.setFileDetector(new LocalFileDetector())
然后照常上传,Selenium 将通过网络将文件发送到节点。
【讨论】:
((RemoteWebDriver)driver).setFileDetector(new LocalFileDetector());
您可以在本地计算机上创建文件时以正常方式执行此操作。见下文,
File file = new File("\\\\00.00.00.00\\c$\\somefile.txt");
file.createNewFile();
这将在远程计算机的“C”驱动器中创建一个名为 somefile.txt 的文件。将 IP 地址更改为您的远程计算机。
【讨论】: