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
  • AutoIt
  • Browser Mob Proxy
  1. Selenium Webdriver. Проблемные моменты

Вспомогательные инструменты

PreviousSelenium Webdriver. Проблемные моментыNextBasic Authentification Window

Last updated 6 years ago

AutoIt

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

В комплект также входит:

  • AutoIt Window Info - инструмент для получения информации об окне и контролах, их атрибутах, необходимых для взаимодействия с ними.

  • SciTE4AutoIt3 - инструмент для создания и редактирования скриптов.

  • Aut2Exe - инструмент для компилирования AutoIt скриптов в запускаемые .exe файлы.

Скачать последнюю версию инструмента, а также найти детальную информацию о нем можно на официальном сайте:

AutoIt скрипт для работы с окном загрузки файла может выглядеть следующим образом:

WinWaitActive("Open", "", "20")
If WinExists("Open") Then
    ControlSetText("Open", "", "Edit1", $CmdLine[1])
    ControlClick("Open", "", "&Open")
EndIf

Скомпилировав скрипт в FileDownLoadHandler.exe, его можно вызвать в тесте после появления диалога загрузки файла следующим образом:

Runtime.getRuntime().exec(new String[] {"FileDownLoadHandler.exe", "\"C:\\Picture.png\""})

Browser Mob Proxy

Browser Mob Proxy - это бесплатный прокси-сервер для веб браузера, с помощью которого можно отслеживать трафик, перехватывать и модифицировать запросы, создавать черные и белые списки ресурсов, имитировать медленную скорость соединения, собирать данные о производительности. Browser Mob Proxy можно использовать вместе с Selenium Webdriver или независимо.

Управлять прокси-сервером можно напрямую через Java интерфейс или через REST API. В мавен проект добавить зависимость можно указав в pom.xml файле:

<dependency>
    <groupId>net.lightbody.bmp</groupId>
    <artifactId>browsermob-proxy</artifactId>
    <version>2.0-beta-8</version>
    <scope>test</scope>
</dependency>

или

<dependency>
    <groupId>net.lightbody.bmp</groupId>
    <artifactId>browsermob-proxy</artifactId>
    <version>2.0-beta-8</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>

если вы используете свою версию Selenium Webdriver.

Сам тест же может выглядеть так:

import net.lightbody.bmp.core.har.Har;
import net.lightbody.bmp.proxy.ProxyServer;

import org.junit.Test;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class SimpleTest {

    @Test
    public void bmpTest() throws Exception {
        // запуск прокси сервера
        ProxyServer server = new ProxyServer(4444);
        server.start();

        // получение Selenium proxy
        Proxy proxy = server.seleniumProxy();

        // конфигурация FirefoxDriver для использования прокси
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.PROXY, proxy);

        WebDriver driver = new FirefoxDriver(capabilities);

        // открытие страницы
        driver.get(SOME_URL);

        // здесь основная часть теста

        driver.quit();
        server.stop();
    }
}

Официальный сайт Browser Mob Proxy

https://www.autoitscript.com/site/
http://bmp.lightbody.net/