Средство запуска командной строки Selenium IDE
Средство запуска командной строки Selenium IDE

Средство запуска командной строки Selenium IDE

Оглавление

1. Предисловие

2. Установка

3. Бегите

4. Конфигурация времени выполнения

5. Применить к фреймворку

6. Расширенные параметры

1. Предисловие

Selenium IDE обычно устанавливается из магазина веб-приложений Chrome или Firefox. После установки запустите его, щелкнув его значок в строке меню браузера, запишите и напишите сценарий, а затем воспроизведите и выполните сценарий.

В этой статье вы узнаете, как установить программу запуска командной строки Selenium IDE, получить необходимые драйверы браузера (при локальном запуске тестов) и запустить программу запуска из командной строки с необходимыми параметрами.

2. Установка

1. Сначала вам необходимо установить Node.js (версия 8 или 10).

2. Затем откройте командную строку, чтобы установить selenium-side-runner (бегун командной строки Selenium IDE).

Язык кода:javascript
копировать
npm install -g selenium-side-runner

3. Установите драйвер браузера.

Selenium взаимодействует с каждым браузером через небольшие двоичные приложения, называемые драйверами браузера. Каждый браузер имеет свой собственный драйвер, который можно загрузить вручную и добавить в системный путь или использовать менеджер пакетов для установки последней версии драйвера браузера (рекомендуется).

(1) Для Chrome требуется драйвер ChromeDriver.

Адрес загрузки:

https://chromedriver.chromium.org/

Установите драйвер из командной строки:

Язык кода:javascript
копировать
npm install -g chromedriver

(2) Для Edge требуется драйвер EdgeDriver.

Адрес загрузки:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Установите драйвер из командной строки:

Язык кода:javascript
копировать
npm install -g edgedriver

(3) Для Firefox требуется драйвер geckodriver.

Адрес загрузки:

https://github.com/mozilla/geckodriver

Установите драйвер из командной строки:

Язык кода:javascript
копировать
npm install -g geckodriver

(4) Для IE требуется драйвер IEDriver.

Адрес загрузки:

https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver

Установите драйвер из командной строки:

Язык кода:javascript
копировать
npm install -g iedriver

(5) Для Safari требуется драйвер SafariDriver.

Адрес загрузки:

https://developer.apple.com/documentation/webkit/testing_with_webdriver_in_safari

3. Бегите

Используйте команду selenium-side-runner, а затем вызовите сохраненный путь к файлу проекта.

Например, используя Selenium IDE Запишите сценарий и успешно запустите его. D Под корнем Оглавление, например D:\ test_demo.side。

Откройте инструмент командной строки и выполните следующую команду, чтобы запустить сценарий.

Язык кода:javascript
копировать
selenium-side-runner D:\test_demo.side

Исполнение успешное.

Если у вас есть несколько файлов .side, вы можете использовать подстановочные знаки (например, D:\*.side).

При запуске нескольких файлов .side тесты будут запускаться параллельно в нескольких окнах браузера, распределенных по n процессам (где n — количество доступных ядер ЦП на компьютере).

Примечание. Если появится следующее сообщение об ошибке, загрузите драйвер вручную и настройте переменные среды.

The ChromeDriver could not be found on the current PATH. Please download the latest version of the ChromeDriver fro

m http://chromedriver.storage.googleapis.com/index.html and ensure it can be found on your PATH.

(1) Сначала проверьте версию браузера и загрузите соответствующую версию драйвера.

Например, версия браузера 106.0.5249.119.

Затем скачивается драйвер 106.0.5249.61.

(2) Установите драйвер локально chrome.exe Тот же уровень Оглавлениевнутри。

(3) В контекстной среде PATH Добавьте файл chromedriver.exe по тому же пути, что и «Оглавление», а затем сохраните его.

4. Конфигурация времени выполнения

1. Запускайте в разных локальных браузерах.

Язык кода:javascript
копировать
selenium-side-runner -c "browserName=chrome"
selenium-side-runner -c "browserName='internet explorer'"
selenium-side-runner -c "browserName=edge"
selenium-side-runner -c "browserName=firefox"
selenium-side-runner -c "browserName=safari"

2. Запустите Selenium Grid.

Язык кода:javascript
копировать
selenium-side-runner --server http://localhost:4444/wd/hub -c "browserName='chrome' version='106.0' platform='Windows 10'"

3. Укажите количество параллельных процессов

При работе в Selenium Grid вы можете контролировать количество запущенных параллельных сеансов с помощью флага команды -w n (где n — желаемое количество процессов).

Язык кода:javascript
копировать
selenium-side-runner -w 10 --server http://localhost:4444/wd/hub

4. Специальные функции Chrome

Если вы установили Chrome в нестандартное место на своем компьютере, вы можете указать путь, чтобы ChromeDriver знал, где искать.

Язык кода:javascript
копировать
selenium-side-runner -c "goog:chromeOptions.binary='/path/to/non-standard/Chrome/install'"

Запускайте тесты без головы.

Язык кода:javascript
копировать
selenium-side-runner -c "goog:chromeOptions.args=[disable-infobars, headless]"

5. Применить к фреймворку

1. Измените базовый URL.

Вы можете легко направить свои тесты на разные среды (например, разработку, тестирование, производство), указав разные базовые URL-адреса.

Язык кода:javascript
копировать
selenium-side-runner --base-url https://localhost

2. Тест фильтра

При желании вы можете запустить целевое подмножество тестов, используя флаг команды --filter target (где target — это значение регулярного выражения). Запускайте только имена тестов, содержащие заданные критерии поиска.

Язык кода:javascript
копировать
selenium-side-runner --filter smoke

3. Вывод результатов теста в файл.

Если вам необходимо экспортировать результаты теста в файл (например, при запуске в рамках процесса CI), вы можете использовать --output-directory и --output-format.

--output-directory определяет расположение файла результатов теста, который может быть абсолютным или относительным путем.

--output-format определяет формат, используемый для файлов результатов теста, который может быть jest (например, JSON) или junit (например, XML), формат по умолчанию — jest (тип не указан).

Язык кода:javascript
копировать
selenium-side-runner --output-directory=results
selenium-side-runner --output-directory=results --output-format=jest
selenium-side-runner --output-directory=results --output-format=junit

4. Укажите конфигурацию по умолчанию.

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

Два метода настройки.

Способ первый:

Запуск тестовиз Оглавлениевнутрисоздавать .side.yml Файл, бегун на стороне селена Он будет распознан автоматически. Ниже приведен пример содержимого файла.

Язык кода:javascript
копировать
capabilities:
  browserName: "firefox"
baseUrl: "https://www.seleniumhq.org"
server: "http://localhost:4444/wd/hub"

Если вы хотите игнорировать этот файл и использовать аргументы командной строки, используйте --no-sideyml с другими командами при запуске.

Способ второй:

Вместо файла .side.yml вы можете указать параметры времени выполнения в файле YAML с выбранным вами именем и местоположением, а затем указать его местоположение при запуске теста.

Язык кода:javascript
копировать
selenium-side-runner --config-file "/path/to/your/config.yaml"

6. Расширенные параметры

1. Параметры

Укажите свои собственные уникальные параметры времени выполнения, которые можно использовать с помощью флага --params.

(1) Основное использование

Укажите имя и значение параметра. Самый простой способ — указать строковое значение.

Язык кода:javascript
копировать
selenium-side-runner --params "a='example-value'"

(2) Вложенные параметры

Параметры могут быть вложены с помощью точек.

Язык кода:javascript
копировать
selenium-side-runner --params "a.b='another example-value'"

(3) Значение массива

Можно указать буквенно-цифровой массив.

Язык кода:javascript
копировать
selenium-side-runner --params "a.b.c=[1,2,3]"

(4) Несколько параметров

--params можно вызвать только один раз, но можно указать несколько параметров, разделенных пробелами.

Язык кода:javascript
копировать
selenium-side-runner --params "a='example-value' a.b='another example-value' a.b.c=[1,2,3]"

2. Используйте прокси-сервер

Вы можете использовать следующие параметры в бегуне, чтобы передать браузеру возможности прокси.

(1) Прямой агент

Эта опция настраивает WebDriver для обхода всех прокси-серверов браузера.

Из командной строки:

Язык кода:javascript
копировать
selenium-side-runner --proxy-type=direct

В файле .side.yaml:

Язык кода:javascript
копировать
proxyType: direct

(2) Ручной прокси

Настройте прокси-сервер браузера вручную.

Из командной строки:

Язык кода:javascript
копировать
selenium-side-runner --proxy-type=manual --proxy-options="http=localhost:434 bypass=[http://localhost:434, http://localhost:8080]"

В файле .side.yaml:

Язык кода:javascript
копировать
proxyType: manual
proxyOptions:
  http: http://localhost:434
  https: http://localhost:434
  ftp: http://localhost:434
  bypass:
    - http://localhost:8080
    - http://host:434
    - http://somethingelse:32

(3) агент ПКК

Настройте WebDriver для установки прокси-сервера браузера с использованием PAC-файла для заданного URL-адреса.

Из командной строки:

Язык кода:javascript
копировать
selenium-side-runner --proxy-type=pac --proxy-options="http://localhost/pac"

В файле .side.yaml:

Язык кода:javascript
копировать
proxyType: pac
proxyOptions: http://localhost/pac

(4) SOCKS-прокси

Создайте конфигурацию прокси-сервера SOCKS.

Из командной строки:

Язык кода:javascript
копировать
selenium-side-runner --proxy-type=socks --proxy-options="socksProxy=localhost:434 socksVersion=5"

В файле .side.yaml:

Язык кода:javascript
копировать
proxyType: socks
proxyOptions:
  socksProxy: localhost:434
  socksVersion: 5

(5) Системный агент

Настройте WebDriver для использования прокси текущей системы.

Из командной строки:

Язык кода:javascript
копировать
selenium-side-runner --proxy-type=system

В файле .side.yaml:

Язык кода:javascript
копировать
proxyType: system
boy illustration
Typecho отображает использование памяти сервера
boy illustration
Как вставить элемент перед указанным ключом в ассоциативный массив в PHP
boy illustration
swagger2 экспортирует API как текстовый документ (реализация Java) [легко понять]
boy illustration
Выбор фреймворка nodejs Express koa egg MidwayJS сравнение NestJS
boy illustration
Руководство по загрузке, установке и использованию SVN «Рекомендуемая коллекция»
boy illustration
Интерфейс PHPforwarding_php отправляет запрос на получение
boy illustration
Создавайте и защищайте связь в реальном времени с помощью SignalR и Azure Active Directory.
boy illustration
ВичатПубличная платформаразвивать(три)——ВичатQR-кодгенерировать&Сканировать кодсосредоточиться на
boy illustration
[Углубленное понимание Java IO] Используйте InputStreamReader для чтения содержимого файла и легкого выполнения задач преобразования текста.
boy illustration
сравнение строк PHP
boy illustration
9 сценариев асинхронного сбоя @Async
boy illustration
Эффективная обработка запланированных задач: углубленное изучение секретов библиотеки APScheduler на Python
boy illustration
Рекомендации по облегченному артефакту развязки внутренних компонентов Spring Event (событие Spring)
boy illustration
Go: Лесоруб-лесоруб на колесах Введение
boy illustration
Основы серверной разработки: технология кэширования, которую должен освоить каждый программист
boy illustration
Java Advanced Collections TreeSet: что это такое и зачем его использовать?
boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств