2015-01-07 2 views
0

Я запускаю тестовые файлы selenium webdriver через Hudson 3.2.1 Но в тестовом примере «загрузка файла» я использую Robot Framework, поэтому он не является исполняться в Хадсоне. Он отлично работает через maven отдельно. Ниже приведен код для загрузки файла:Как запустить тестовый пример загрузки файла в Hudson 3.2.1

public static void setClipboardData(String string) { 
     StringSelection stringSelection = new StringSelection(string); 
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null); 
} 


driver.findElement(By.xpath(".//*[@id='photo']")).click();  

setClipboardData("C:\\Users\\Townscript\\Downloads\\kick.jpg"); 

    Robot robot; 
    try { 
     robot = new Robot(); 
     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); 
     robot.delay(5000); 
     } 
     catch (AWTException e) { 
     e.printStackTrace(); 
     } 
+0

Почему вы хотите сделать это в «Роботе», селен может выполнять загрузку файлов (не в Safari, хотя) –

+1

Кроме Robot, я мог использовать AutoIT для загрузки файлов в селен. Я не нашел альтернативы для этого. – Min

+0

Какой браузер вы используете? –

ответ

3

Если входной HTML тег имеет type = file

т.е.
<input type="file"> 

вы можете напрямую загрузить файл с помощью SendKeys.

WebDriver driver; 
driver.findElement(By.<yourlocator>).sendKeys("FilePath"); 

надеюсь, что это поможет!

+0

На этой странице отсутствует текстовое поле для предоставления пути к файлу. При нажатии кнопки «Обзор» открывается окно машины, для которого вы не можете получить xpath для отправки sendKeys. – Min

+0

Я понял. Благодаря!! Работает. Не нужно использовать Robot сейчас – Min

+0

@Minaz: Я просил об этом только потому, что Selenium может это сделать. –

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