Сервис LambdaTest
wdio-lambdatest-service является сторонним пакетом, для получения дополнительной информации смотрите GitHub | npm
Сервис WebdriverIO, который управляет туннелем и метаданными задач для пользователей LambdaTest.
Установка
npm i wdio-lambdatest-service --save-dev
Инструкции по установке WebdriverIO
можно найти здесь.
Конфигурация
WebdriverIO имеет встроенную поддержку LambdaTest. Вам просто нужно установить user
и key
в вашем файле wdio.conf.js
. Чтобы включить функцию для автоматизации приложений, установите product: 'appAutomation'
в вашем файле wdio.conf.js
. Этот плагин сервиса предоставляет поддержку для LambdaTest Tunnel. Установите также tunnel: true
, чтобы активировать эту функцию.
// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};
Для получения замечаний об ошибках тестирования на панели автоматизации
Для получения замечаний об ошибках тестирования на панели автоматизации просто добавьте ltErrorRemark: true
в ваш wdio.conf.js
.
Для загрузки приложения с локального компьютера или по URL
Загрузите приложения android
или ios
с локального компьютера или с URL-адреса, добавив необходимую конфигурацию в ваш wdio.conf.js
. Чтобы использовать загруженное приложение для тестирования в том же запуске, установите enableCapability = true
, это установит значение URL приложения в возможностях.
// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //укажите желаемое имя приложения
app_path : "/path/to/your/app/file", //укажите локальное расположение приложения
// или
app_url : "https://example.test_android.apk", //укажите URL, где размещено или хранится ваше приложение
custom_id : "12345", //укажите желаемый пользовательский идентификатор
enableCapability : true
}
}
]
]
Опции
Для авторизации в сервисе LambdaTest ваша конфигурация должна содержать опции user
и key
.
tunnel
Установите это значение в true, чтобы разрешить маршрутизацию соединений из облака LambdaTest через ваш компьютер. Вам также потребуется установить tunnel
в true в возможностях браузера.
Тип: Boolean
По умолчанию: false
lambdatestOpts
Указанные дополнительные параметры будут переданы в LambdaTest Tunnel.
Тип: Object
По умолчанию: {}
Ниже приведен полный список всех доступных опций:
tunnelName
Указывает пользовательское имя туннеля LambdaTest, которое будет использоваться.
Пример:
{"tunnelName": "my_custom_tunnel"}
port
Порт для активации LambdaTest Tunnel.
Пример:
{"port": 33000}
user
Имя пользователя LambdaTest.
Пример:
{"user": "your_username"}
key
Ключ доступа LambdaTest.
Пример:
{"key": "your_access_key"}
verbose
Должен ли каждый запрос прокси-сервера регистрироваться в stdout.
Пример:
{"verbose": true}
logFile
Расположение файла журнала LambdaTest Tunnel.
Пример:
{"logFile": "/path/to/log/file"}
config
Путь к файлу конфигурации для использования. Пример:
{"config": "/path/to/config/file"}
dir
Укажите локальный каталог, который будет обслуживаться файловым сервером на порту Tunnel.
Пример:
{"dir": "/path/to/local/directory"}
proxyHost
Указывает имя хоста прокси-порта туннеля.
Пример:
{"proxyHost": "proxy.example.com"}
proxyUser
Указывает имя пользователя для прокси-порта туннеля.
Пример:
{"proxyUser": "your_proxy_username"}
proxyPass
Указывает пароль для прокси-порта туннеля.
Пример:
{"proxyPass": "your_proxy_password"}
proxyPort
Указывает номер порта, на котором будет активирован прокси туннеля.
Пример:
{"proxyPort": 8080}
egressOnly
Использует настройки прокси-сервера только для исходящих запросов.
Пример:
{"egressOnly": true}
ingressOnly
Маршрутизирует только входящий трафик через указанный прокси.
Пример:
{"ingressOnly": true}
pacfile
Для использования PAC (Proxy Auto-Configuration) в локальном тестировании, укажите путь к файлу PAC.
Пример:
{"pacfile": "/path/to/pacfile"}
loadBalanced
Активирует балансировку нагрузки для LambdaTest Tunnel.
Пример:
{"loadBalanced": true}
mode
Указывает, в каком режиме должен работать туннель "ssh" или "ws". (по умолчанию "ssh").
Пример:
{"mode": "ssh"}
sshConnType
Укажите тип ssh-соединения (over_22, over_443, over_ws). Чтобы использовать –sshConnType, сначала укажите флаг ––mode ssh.
Пример:
{"sshConnType": "over_22"}
maxSSHConnections
Увеличьте количество SSH-соединений от клиента туннеля к серверу туннеля. Максимально допустимое значение - 30.
Пример:
{"maxSSHConnections": 2}
sharedTunnel
Совместное использование туннеля членами команды.
Пример:
{"sharedTunnel": true}
env
Среда, в которой будет работать LambdaTest Tunnel.
Пример:
{"env": "production"}
infoAPIPort
Предоставляет доступ к Tunnel Info API на указанном порту.
Пример:
{"infoAPIPort": 8080}
callbackURL
URL обратного вызова для статуса туннеля.
Пример:
{"callbackURL": "https://example.com/callback"}
allowHosts
Список хостов, разделенных запятыми, для маршрутизации через туннель. Все остальное будет маршрутизировано через Интернет.
Пример:
{"allowHosts": "example.com,anotherexample.com"}
bypassHosts
Список хостов, разделенных запятыми, для обхода туннеля. Они будут маршрутизироваться через интернет.
Пример:
{"bypassHosts": "example.com,anotherexample.com"}
clientCert
Путь к клиентскому сертификату mTLS.
Пример:
{"clientCert": "/path/to/client_certificate"}
clientKey
Путь к клиентскому ключу mTLS.
Пример:
{"clientKey": "/path/to/client_key"}
mTLSHosts
Список хостов mTLS, разделенных запятыми.
Пример:
{"mTLSHosts": "example.com,anotherexample.com"}
dns
Список DNS-серверов, разделенных запятыми.
Пример:
{"dns": "8.8.8.8,8.8.4.4"}
mitm
Включить режим MITM (Man-in-the-middle) для LambdaTest Tunnel.
Пример:
{"mitm": true}
ntlm
Для использования аутентификации Microsoft NTLM (Windows NT LAN Manager) для коммуникации или транспортных целей.
Пример:
{"ntlm": true}
pidfile
Путь к pidfile, куда будет записан идентификатор процесса.
Пример:
{"pidfile": "/path/to/pidfile"}
usePrivateIp
Устанавливает удаленный адрес на внутренний IP клиентской машины.
Пример:
{"usePrivateIp": true}
Дополнительную информацию об этих опциях можно найти здесь.
preferScenarioName
Только для Cucumber. Установите имя сессии на имя сценария, если запущен только один сценарий. Полезно при параллельном выполнении с помощью wdio-cucumber-parallel-execution.
Тип: Boolean
По умолчанию: false
sessionNameFormat
Настройка формата имени сессии.
Тип: Function
По умолчанию (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
По умолчанию (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Только для Mocha. Не добавлять название теста к имени сессии.
Тип: Boolean
По умолчанию: false
sessionNamePrependTopLevelSuiteTitle
Только для Mocha. Добавить название верхнего уровня сюиты в начало имени сессии.
Тип: Boolean
По умолчанию: false
setSessionName
Автоматически устанавливать имя сессии.
Тип: Boolean
По умолчанию: true
setSessionStatus
Автоматически устанавливать статус сессии (пройдено/не пройдено).
Тип: Boolean
По умолчанию: true
ignoreTestCountInName
Игнорировать количество повторных попыток теста в имени
Тип: Boolean
По умолчанию: false
useScenarioName
Чтобы получать имена тестов как имена сценариев для тестов, специфичных для cucumber, просто добавьте useScenarioName: true
в ваш wdio.conf.js
.
Шаги для компиляции и публикации
- Клонируйте этот репозиторий.
- Выполните "npm install"
- Выполните "npm run build"
- Шаги для публикации: выполните "npm login"
- Выполните "npm publish --access public"
Для получения дополнительной информации о WebdriverIO посетите домашнюю страницу.