Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create and upload a file on selenium grid

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.

like image 783
danggrianto Avatar asked Apr 25 '13 02:04

danggrianto


1 Answers

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.

like image 192
Ardesco Avatar answered Sep 19 '22 13:09

Ardesco