Как сделать скриншот прокрутки в Selenium с помощью Java? - PullRequest
0 голосов
/ 20 мая 2018

Я новичок в Selenium.

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

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Вот как бы я это сделал.При каждом пролистывании Вы можете сделать снимок экрана, как в виде шага.

Вот часть кода для снимка экрана:

public static String takeScreenshot(WebDriver driver) {
    driver.get("http://www.google.com/");
    File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    // Now you can do whatever you need to do with it, for example copy somewhere
    File dest = new File("c:\\tmp\\screenshot.png");

    FileUtils.copyFile(scrFile, dest);
   return dest.getAbsolutePath();
}

А вот код для вертикального пролистывания:

 public static void swipeVertical(WebDriver driver) {
        Dimension size = driver.manage().window().getSize();
        System.out.println(size);

        int starty = (int) (size.height * 0.70);
        int endy = (int) (size.height * 0.30);
        int startx = size.width / 2;

        new TouchAction(driver)
                .press(startx, starty)
                .waitAction(Duration.ofMillis(1000))
                .moveTo(startx, endy)
                .release()
                .perform();
    }

поэтому мой псевдокод будет выглядеть так:

  1. Драйвер WebDriver = initDriver ();
  2. загрузка страницы и элементов
  3. inputText (text);
  4. takScreenShot (драйвер);
  5. смахивание (драйвер);

...

повтор до конца ...

0 голосов
/ 21 мая 2018

Вы можете сделать столько скриншотов, сколько захотите.После заполнения каждого столбца, после заполнения каждого третьего столбца, что угодно.

Или вы можете позволить веб-драйверу заполнить всю форму и прокручивать вверх / вниз, используя имитацию pgup / pgdn:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

Robot rob = new Robot();
rob.keyPress(KeyEvent.VK_PAGE_DOWN);
rob.keyRelease(KeyEvent.VK_PAGE_DOWN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...