Raghuram
Raghuram

Reputation: 51

How to automate Uploading A file using webdriver.

I am trying to automate a file uploading using webdriver, my HTML is it is of type file.

using firebug i got the id and it is same for textbox and button.

by using this command getWebDriverObj().findElement(By.id("fileupload")).sendKeys("code.txt"); am unable to fetch the result.

does any one faced this type of situation, if so can you please help me.

Thanks Raghuram.

Upvotes: 3

Views: 5521

Answers (2)

Manpreet Singh
Manpreet Singh

Reputation: 3771

Autois Windows specific only.

Here is a more robust solution:

For this you will have find the "id" of the actual input box (where the path of the file is provided) and then use the following command:

driver.findElement(By.id("upload")).sendKeys("/path/to/the/file");
driver.findElement(By.id("upload_button")).click();

If you are using WebDriverBackedSelenium you can use:

selenium.type("locator", "/path/to/the/file");

selenium.click("upload_button");

Upvotes: 1

alexey.chumagin
alexey.chumagin

Reputation: 630

If previous method is not working You can try next chain. 1. Call File Select Dialog by click button (use webdriver method click() or javascript "document.getElementById('id').click()" 2. And send control to Autoit (or something another) and AutoIt will work with File Select Dialog (type addres to file, click button) For example:

        var Autoit = new AutoItX3();
        const string widowTitle = "File Upload";
        Autoit.WinWait(widowTitle, "File &name:", 10);
        Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", pathToFile);
        Autoit.ControlClick(widowTitle, "", "[CLASS:Button; INSTANCE:1]");
        Autoit.WinWaitClose(widowTitle, "File &name:", 10);

Setup java and AutoIt http://code.google.com/p/autoitx4java/

Upvotes: 0

Related Questions