Selenium Webdriver для Java автоматизаторов
  • Introduction
  • Selenium Webdriver. Введение
    • WebDriver. Обзор и принцип работы
    • Основные методы Selenium Webdriver API
    • Типы локаторов
    • Ожидания
    • Пример использования Webdriver API
  • Selenium WebDriver. Сложные вопросы.
    • Локаторы. CSS, XPATH, JQUERY.
    • WebDriver API. Сложные взаимодействия.
    • Контроль за ходом теста. Кастомные ожидания, попапы, алерты, Iframes.
    • DDT подход
  • Page Object Pattern. Архитектура тестового проекта.
    • Использование паттерна Page Object.
    • Альтернативные Page Object подходы.
    • Вспомогательные инструменты.
    • Уровни абстракции. Создание кастомных элементов.
    • Архитектура. Основные элементы.
  • Selenium Grid и "headless" браузеры
    • Использование HtmlUnit драйвера в автотестировании
    • "Headless" тестирование с PhantomJS и SlimerJS
    • Grid. Настройка и использование.
  • Selenium Webdriver. Проблемные моменты
    • Вспомогательные инструменты
    • Basic Authentification Window
    • Загрузка файла
    • Отправление файла (upload)
    • Логгирование в Selenium Webdriver
    • Скриншоты элементов и работа с изображением
  • Selenium Webdriver. Тестирование HTML5 веб приложений
    • Автоматизация Canvas элементов.
    • Автоматизация видео плеера.
    • Работа с web storage.
  • Selenium Webdriver. Расширение инструмента
    • Selenium "обертки" и расширения
    • Thucydides
    • Geb
    • Selenide
    • Репортинг
  • Selenium Webdriver. Тестирование клиентской производительности
    • Navigation timing API
    • Browser Mob Proxy
    • DynaTrace
    • HttpWatch
  • Selenium Webdriver. Behavior-Driven Development.
    • Обзор методологии и инструментов на Java.
    • Cucumber JVM + Selenium Webdriver.
    • JBehave + Selenium Webdriver.
  • Selenium Webdriver. Тестирование на мобильных браузерах
    • Обзор инструментов
    • Установка и настройка Appium. Принципы и основы работы с инструментом
    • Запуск тестов на десктоп и мобильных браузерах
  • Облачные сервисы.
    • Обзор рынка облачных сервисов для тестирования.
    • SauceLabs. Услуги и планы.
    • Настройка тестов для запуска в SauceLabs.
    • Использование Sauce Connect и Travis CI.
  • Continuous Integration
    • Что такое Continuous Integration
    • Распространенные CI-серверы
    • Jenkins - установка и настройка
Powered by GitBook
On this page
  1. Selenium Webdriver. Тестирование HTML5 веб приложений

Автоматизация видео плеера.

Ранее, чтобы посмотреть видео в интернете, нужно было использовать различные плагины. При этом не существовало чего-то универсального. Однако, после выхода HTML 5 ситуация изменилась. Появился тег < video >, с помощью которого можно было добавлять легко видео на сайт. Соответственно, тестировать его тоже нужно. Для этого будем использовать класс JavaScriptExecutor. Напишем простой тест и посмотрим, как это работает:

@Test
public void testHTML5VideoPlayer() throws Exception {
    File scrFile = null;

    //Get the HTML5 Video Element
    WebElement videoPlayer = driver.findElement(By.id("vplayer"));

    //We will need a JavaScript Executor for interacting
    //with Video Element's
    //methods and properties for automation
    JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;

    //Get the Source of Video that will be played in Video Player
    String source = (String) jsExecutor.executeScript("return arguments[0].currentSrc;", videoPlayer);

    //Get the Duration of Video
    long duration = (Long) jsExecutor.executeScript("return arguments[0].duration", videoPlayer);
    System.out.println(duration);

    //Verify Correct Video is loaded and duration
    assertEquals("http://html5demos.com/assets/dizzy.mp4", source);
    assertEquals(25, duration);

    //Play the Video
    jsExecutor.executeScript("return arguments[0].play()", videoPlayer);
    Thread.sleep(5000);

    //Pause the video
    jsExecutor.executeScript("arguments[0].pause()", videoPlayer);

    //Take a screen-shot for later verification
    scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    FileUtils.copyFile(scrFile, new File("c:\\tmp\\pause_play.png"));
}
PreviousАвтоматизация Canvas элементов.NextРабота с web storage.

Last updated 6 years ago