2016-05-04 3 views
0

Я хочу загрузить два файла изображения (.png). Я использовал клавиши действия и посылал ключи для загрузки файла. Он работает нормально для одного файла, но если я снова хочу загрузить второй файл изображения, файл не загружается.Загрузка файла в Selenium

Actions action1 = new Actions(m.driver); 
action1.moveToElement(m.driver.findElement(By.id("onetidIOFile"))).click(); 
WebElement s=m.driver.findElement(By.xpath("//input[@type='file']")); 
s.sendKeys("path of one file");m.click("xpath", ".//[@id='attachOKbutton']"); 
m.click("id", "Ribbon.ListForm.Edit.Actions.AttachFile-Large"); 
action1.moveToElement(m.drive‌​r.findElement(By.id("onetidIOFile"))).click(); 
m.driver.findElement(By.xpath("//‌​input[@type='file']")).sendKeys("path of second file "); 
m.key("Enter","attachOKbutton"); 

Может ли кто-нибудь помочь мне в этом?

+1

Добавьте свой код и HTML. – Guy

+2

Не вставляйте код в качестве комментария, тогда редактируйте свой вопрос – Szeki

+0

добавил код .. – sajju

ответ

0

@sajju - Вы можете обновить свой код, как показано ниже:

Он должен работать, как это работает для меня. И отдайте свой тестовый метод приоритету в соответствии с вашим требованием. Для примера я отдал приоритет здесь как @Test (priority = 1). Надеюсь, это сработает для вас.

@Test(priority = 1) 
    public void CERTIFICATIONSSCREENUploadCertficationFilesValidation() 
      throws InterruptedException, AWTException { 

     //Click on File Upload Button 
     driver.findElement(By.xpath("//*[@id='certificationFile']")).click(); 
     Thread.sleep(1000); 
     // Set the file name in the clipboard. Also following line of code will search file in your computer so make sure you provide correct file path. 

     StringSelection s = new StringSelection("C:\\Doc\\CertificationFile.xls"); 
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(s, null); 
     Thread.sleep(1000); 

     Robot robot1 = new Robot(); 
     robot1.keyPress(KeyEvent.VK_ENTER); 
     robot1.keyRelease(KeyEvent.VK_ENTER); 
     robot1.keyPress(KeyEvent.VK_CONTROL); 
     robot1.keyPress(KeyEvent.VK_V); 
     robot1.keyRelease(KeyEvent.VK_V); 
     robot1.keyRelease(KeyEvent.VK_CONTROL); 
     robot1.keyPress(KeyEvent.VK_ENTER); 
     robot1.keyRelease(KeyEvent.VK_ENTER); 
     Thread.sleep(1000); 

}

+0

Я пробовал этот код. Не работает – sajju

Смежные вопросы