Selenium IDE не сидит на месте. С момента его перезапуска в прошлом году разработчики Selenium IDE были заняты ответом на запросы пользователей об улучшении. Только что была выпущена одна очень востребованная функция – возможность экспорта кода из Selenium IDE для использования в Selenium WebDriver . Экспорт кода из Selenium IDE сегодня работает с Java JUnit . Команда разработчиков ищет таких членов сообщества, как вы, для расширения возможностей Selenium IDE.
Код размещен и доступен на Github. Вы можете ознакомиться с примерами, а также развить свои собственные экспортные возможности.
Но, во-первых, вот что нового.
Вы можете экспортировать тест или набор тестов в код WebDriver, щелкнув правой кнопкой мыши на
тест или набор, выбрав Экспортируйте , выбрав целевой язык и нажав Экспорт .
Это сохранит файл, содержащий экспортированный код для вашего целевого языка, в каталог загрузки вашего браузера.
Комментарии к Коду Отслеживания происхождения
При экспорте есть дополнительный переключатель для включения комментариев к исходному коду трассировки.
Это позволит поместить встроенные комментарии к коду в экспортированный файл с подробной информацией о шаге тестирования в Selenium IDE, который его сгенерировал.
Поддерживаемый Экспорт
В настоящее время Selenium IDE экспортируется в Java. В частности, Java для JUnit.
Команда Selenium IDE намерена поддерживать все официально поддерживаемые привязки языков программирования для Selenium (например, Java, JavaScript, C#, Python и Ruby) по крайней мере в одной среде тестирования для каждого языка.
Приветствуются материалы, помогающие добавлять новые языки и тестовые фреймворки для данного языка. См. Как внести свой вклад подробнее о том, как это сделать.
Java JUnit
Экспортированный код для Java JUnit создан для работы с Java 8, JUnit 4.12 и последней версией Selenium 3.
Вы должны иметь возможность взять экспортированный файл Java и поместить его в стандартную структуру каталогов Maven с pom.xml файл со списком этих зависимостей и запустите его.
Участие в экспорте кода для Selenium IDE
Экспорт кода был построен модульным способом, чтобы помочь включить вклады.
Каждый язык и тестовая среда будут иметь свой собственный пакет, содержащий экспортируемый код. Каждый фрагмент кода сопоставляется с командой в Selenium IDE, и каждый из этих пакетов полагается на базовый пакет “core”, который выполняет всю тяжелую работу.
Ниже приведены шаги по созданию пакета для нового языка или для новой тестовой среды в рамках уже установленного языка.
1. Создайте новый пакет
Сначала скопируйте существующий языковой пакет (например, packages/code-export-java-junit) и переименуйте его (например, папку и сведения в файле package.json) на целевой язык и фреймворк, которые вы хотели бы внести (например, packages/code-export-ruby-rspec и т.д.).
Затем добавьте новый пакет в качестве зависимости в package.json в code-export .
Наконец, запустите yarn из корня проекта.
2. Обновите локаторы и команды
Основной функцией экспорта кода является генерация строк, специфичных для конкретного языка. Наиболее заметными из них являются команды и стратегии поиска (например, синтаксис для поиска “по”).
Для данного языка существует файл для каждого из них вместе с сопровождающими тестовыми файлами.
Вы можете увидеть пример этого в github: packages/code-export-java-junit.
При объявлении новых команд вы можете либо указать их вывод в виде строки , либо в виде объекта , который задает уровни отступов ).
В code-export встроен улучшитель, который управляет отступом выводимого кода. Эта структура полезна, если вывод команды является подробным, и вы хотите быть явным. Или если команда изменяет уровень отступа команд, которые следуют за ней.
3. Создайте крючки
Крючки составляют большую часть структуры экспортируемого кода (например, набор, тест и все, что в него входит, например, настройка, демонтаж и т.д.). Они также позволяют плагинам экспортировать код в различные части теста или набора.
Есть 9 различных крючков:
- в конце концов (после завершения всех тестов)
- После каждого (после завершения каждого теста – до окончания)
- перед всеми (до того, как будут выполнены все тесты)
- beforeEach (перед выполнением каждого теста – после beforeAll)
- команда (выдает код для новой команды, добавленной плагином)
- зависимость (добавьте дополнительную языковую зависимость)
- в каждом начале (в каждом тесте, в начале его)
- в каждом конце (в каждом тесте, в конце его)
- переменная (объявите новую переменную, которая будет использоваться во всем наборе)
Смотрите пример хуков, реализованных в packages/code-export-java-junit здесь: Крючки
4. Обновите атрибуты, зависящие от языка
На каждом языке вам нужно указать некоторые низкоуровневые сведения. Такие вещи, как количество пробелов для отступа, как объявить метод, тест, набор и т.д.
Пример того, как это реализовано в packages/code-export-java-junit, можно найти здесь: Параметры, зависящие от конкретного языка
5. Добавьте его в смесь
Как только у вас будет все остальное на месте, подключите его для использования в пользовательском интерфейсе.
Это возможно в packages/code-export/src/index.js .
Вам нужно будет:
- Импортируйте свой новый код-экспортный пакет
- Обновите доступные языки с подробной информацией о вашем языке экспорта кода
- Обновите экспортер, чтобы ссылаться на ваш код – имя экспорта и импорт
6. Тестирование и настройка
Лучший сквозной тест для экспорта кода применяет серию тестов и проверяет, что они выполняются так, как вы ожидаете.
Из сборки разработки получите доступ к начальным тестам и убедитесь, что все команды стандартной библиотеки работают для вашего нового языка.
Тестируйте, исправляйте и тестируйте снова, пока не будете уверены в конечном результате.
7. Отправить PR-запрос
Ты сделал самую трудную часть. Теперь просто отправьте PR. Пожалуйста, сделайте это против ветки v3 .
Оригинальная версия этой статьи появляется на сайте документации Selenium IDE.
Страницы Selenium IDE
- Документация Selenium IDE
- Учебное пособие по Selenium IDE
- Среда разработки Selenium IDE в магазине Google Chrome
- Selenium IDE в магазине Firefox
- Страница GitHub Selenium IDE
- Страница npm Selenium IDE (SIDE Runner)
- Selenium IDE на Stackoverflow
- Selenium IDE на Quora
- Selenium IDE на Reddit
- Selenium IDE в новостях о хакерах
Applitools для страниц Selenium IDE
- Applitools для страницы продукта Selenium IDE
- Applitools для документации Selenium IDE
- Applitools для Selenium IDE в магазине Google Chrome
- Applitools для Selenium IDE в Firefox Store
Видео Selenium IDE
- Плейлист обучающих видео Selenium IDE
- Дейв Хеффнер представляет Selenium IDE в Selenium Camp
- Дейв Хеффнер представляет вебинар по запуску новой среды разработки Selenium IDE
- Томер Штайнфельд на как он создал новую среду разработки Selenium IDE
- Презентация Джо Колантонио на Selenium IDE, часть первая и часть вторая
- Саймон Стюарт: Selenium IDE – следующее поколение
- Другие видеоролики Selenium IDE
Оригинал: “https://dev.to/michaelvisualai/code-export-in-selenium-ide-121d”