2015-10-16 9 views
0

Моей ситуацией является то, что я автоматизирую тестирование функции загрузки файлов. Теперь автоматизация ci работает на другой машине/коробке, и браузер открывается на другом компьютере (-ях) для тестирования автоматизации. Я могу упаковать (добавить тестовый входной файл, который будет загружен) в банке. Но банка находится на другой машине, как указано выше, и браузер находится на другой машине (машинах). Поскольку браузер не фиксирован и не загружен во время автоматизации, так как я могу получить входной файл, который мне нужно загрузить, на машине, где работает браузер.Загрузка файла selenium с помощью sendKeys

Я попытался скопировать файл после извлечения его из банки, но, очевидно, он не копируется в браузере (-ях), откуда он загружается.

Возможно ли, что этот файл доступен в машинах (-ях) браузера?

+0

Пожалуйста, измените заголовок вопроса к чему-то отношение к то, что вы на самом деле просят. – JeffC

+0

@JeffC уверен, что-то вроде удаленной загрузки файлов в ящики? –

+0

Что-то вроде «Как автоматически получить входной файл на удаленном компьютере, где запущены скрипты?» – JeffC

ответ

0

Одна вещь, которую вы можете сделать, это поместить загружаемый файл в общую папку, к которой можно получить доступ со всех запущенных машин. И укажите местоположение файла из общей папки. Вы можете дать команду SendKeys в поле загрузки как ниже

upload_textfield.sendKeys("\\shared_Folder\upload.txt") 
+0

Спасибо отладчику. Похоже на хороший альтернативный подход. –

0

статического драйвера WebDriver; государственной статической силы основных (String [] арг) бросает InterruptedException, FindFailed {

System.setProperty("webdriver.gecko.driver", "E:\\doftware\\geckodriver-v0.10.0-win64\\geckodriver.exe"); 
    driver =new FirefoxDriver(); 
    driver.get("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2&emr=1&osid=1"); 

    driver.findElement(By.id("Email")).sendKeys("emailaddress"); 
    driver.findElement(By.id("next")).click(); 
    Thread.sleep(500); 
    driver.findElement(By.id("Passwd")).sendKeys("Password"); 
    driver.findElement(By.id("signIn")).click(); 
    Thread.sleep(5000); 
    driver.findElement(By.xpath("//div[@class='T-I J-J5-Ji T-I-KE L3']")).click(); 
    Thread.sleep(500); 
    driver.findElement(By.xpath("//div[@class='a1 aaA aMZ']")).click(); 

    org.sikuli.script.Pattern open= new org.sikuli.script.Pattern("C:\\Users\\narendra\\Desktop\\test\\filename.PNG"); 
    org.sikuli.script.Pattern open1= new org.sikuli.script.Pattern("C:\\Users\\narendra\\Desktop\\test\\open.PNG"); 

    org.sikuli.script.Screen scr= new org.sikuli.script.Screen(); 
    scr.setAutoWaitTimeout(30); 
    scr.type(open, "C:\\Users\\narendra\\Desktop\\test\\searchButton"); 
    scr.click(open1); 
+0

Пожалуйста, отредактируйте с дополнительной информацией. Только код и «попробуйте» ответы не приветствуются, поскольку они не содержат содержимого, доступного для поиска, и не объясняют, почему кто-то должен «попробовать это». – abarisone

+0

Извините, мой плохой, я использовал sikuli API для загрузки файлов в Gmail, вместо использования autoIT, U может попробовать этот код, это довольно просто. –