I want to use Selenium WebDriver on a webpage that I have on my hard disc. I've tried to something like:
selenium = new WebDriverBackedSelenium(driver, "C:\\...dispatcher.html");
...instead of the normal:
selenium = new WebDriverBackedSelenium(driver, "http://www.dunnowhattodo.org");
...but it doesn't work (I get the error "unknown protocol: c").
Try using this method:
webdriver.get("file:///D:/folder/abcd.html");
(or)
selenium = new WebDriverBackedSelenium(driver, "file:///D:/folder/abcd.html");
This can also be done with a relative file:
Path sampleFile = Paths.get("sample.html");
driver.get(sampleFile.toUri().toString());
When you call the driver.get(URL) method, WebDriver looks for HTTP request using as base javascript, Therefore, refering to a website as a path, that task won't be possible.
But it will be possible if you :
1st- Install Apache WebServer (let's say) on your marchine.
2nd- Upload or expose to the WebServer, that web application (dispatcher.html)
3rd- Try recording and executing your testcases on [http://localhost:8080/dispatcher.html] (8080 is the default port but you can configure it to other).
For those of us using java.nio
, we can also do the following:
webdriver.get("file:\\\\\\" + filePath);
...where filePath
is an object of type java.nio.file.Path
and represents an absolute path.