0

Я новичок в sikuli, не могу создать скрипт Sikuli для загрузки функций для веб-приложений.Как автоматизировать загрузку нескольких файлов с помощью sikuli и selenium webdriver в java

+0

проверить это http://stackoverflow.com/questions/23213535/how-to-test-print-preview-of-chrome-browser-using-chrome-webdriver - Подобный способ начать с –

ответ

0

Обратите внимание, что, как правило, вы можете автоматизировать сценарий загрузки файлов, используя только Selenium, не нужно Sikuli. Для загрузки файла вам просто нужно вызвать метод sendKeys() (с файловым путем как аргумент) в WebElement, который отображается для загрузки файлов. Код выглядит следующим образом:

//Put this for textbox near to upload button 
driver.findElement(By.id("id_or_other_locator_goes_here")).sendKeys("file_path_goes_here"); 

и нажмите кнопку загрузки:

driver.findElement(By.xpath("locator_for_upload_button")).click(); // Click Upload button 

Sikuli:

Я использовал Sikuli для автоматизации загрузки файлов сценария в IE и ниже шаги для этого :

  1. Первый захват изображения кнопки «Сохранить» в диалоговом окне загрузки файла и сохранения его
  2. Положите Sikuli банку в проекте Java
  3. Используйте следующий фрагмент кода

// Код:

//Save the file in Downloads directory by using on Sikuli 

ScreenRegion s = new DesktopScreenRegion(); 
Target target = new ImageTarget(new File("SavedImagePath.png")); 
ScreenRegion r = s.find(target); 
Mouse mouse = new DesktopMouse(); 
if (r != null) { 
    mouse.click(r.getCenter()); 
    Thread.sleep(5000); 
} else { 
    System.out.println("Unable to click using Sikuli") 
} 
0

Благодаря Сандип!

попытался под сценарием использовать экран и шаблон класса Sikuli для захвата рабочего стола на основе открытых окон окна во время работы, и это работает!

     String FileToUpload = "/location of file to upload/" 
        String fileNameLoc = "/fileName_input sikuli image location" 
        String openButtonLoc = "/Open button sikuli image location/" 

        //Code to perform action using action using sikuli script 
        Screen src = new Screen(); 
        src.setAutoWaitTimeout(80); 
        Pattern fileName = new Pattern(fileNameLoc).similar((float) 0.5); 
        if (src.exists(fileName, 10) != null) 
        { 
          System.out.println("File Name Pattern exist.."); 
          Match match = src.getLastMatch(); 
          match.find(fileName); 
          match.click(fileName); 
          match.type(fileName, FileToUpload); 
          match.setAutoWaitTimeout(50); 
        } 
        else 
        { 
          System.out.println("File Name pattern not found on screen.."); 
        } 

        Pattern open = new Pattern(openButtonLoc).similar((float) 0.5); 
        if (src.exists(open, 5) != null) 
        { 
          System.out.println("Open Button pattern exist.."); 
          Match match = src.getLastMatch(); 
          match.find(open); 
          match.click(open); 
          match.setAutoWaitTimeout(30); 
        } 
        else 
        { 
          System.out.println("Open buton pattern not found on screen.."); 
        } 
Смежные вопросы