'Selenium Automation Upload file issue
While debugging I found out that my tests fail because of the unloaded file.
I tried many different locators and checked the absolute path to uploading file, but it just doesn't want to upload the file!
It would be great if you will check this form: http://tutorialsninja.com/demo/index.php?route=product/product&path=25_28&product_id=42
Code parts related to issue:
String path = "C:\\Users\\rober\\IdeaProjects\\selenium_bootcamp\\src\\resources\\image.jpg";
@FindBy(how = How.XPATH, using = "//button[@id='button-upload222']")
public WebElement fileInputApplePage;
public void uploadFileOnApplePage() {
fileInputApplePage.sendKeys(path);
}
Solution 1:[1]
The type of your input field which you need to upload file is hidden, and you should change it to file, for continuing the upload process
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("document.getElementById('input-option222').setAttribute('type', 'file')");
WebElement input = driver.findElement(By.id("input-option222"));
input.sendKeys("C:\\Users\\rober\\IdeaProjects\\selenium_bootcamp\\src\\resources\\image.jpg");
UPDATE: Upload with Robot framework
driver.findElement(By.id("button-upload222")).click();
StringSelection ss = new StringSelection("C:\\Users\\rober\\IdeaProjects\\selenium_bootcamp\\src\\resources\\image.jpg");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 |