Create and upload a file on selenium grid

£可爱£侵袭症+ 提交于 2020-01-10 02:56:25

问题


One of tthe test cases that I have is to upload a file to the application. Witouth grid this can be easily done by creating a bogus file and get absolute path of the file and fill the input field and click upload. However when I am using grid, the file is not on the machine that hosted the node. Is there anyway to either send the file to the node or tell the node to create the file and get the absolute path.


回答1:


It's actually pretty simple once you know how, just set a local file detector.

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())

Then just upload as normal and Selenium will fire the file across the wire to the node.




回答2:


You can do it in normal way as you create a file on local machine. See below,

File file = new File("\\\\00.00.00.00\\c$\\somefile.txt");
file.createNewFile();

This will create a file called somefile.txt in 'C' drive on the remote machine. Change the IP address to your remote machine.



来源:https://stackoverflow.com/questions/16205299/create-and-upload-a-file-on-selenium-grid

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!