Перейти к основному содержимому

Сервис LambdaTest

wdio-lambdatest-service является сторонним пакетом, для получения дополнительной информации смотрите GitHub | npm

WDIO health check

Сервис 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.

Шаги для компиляции и публикации

  1. Клонируйте этот репозиторий.
  2. Выполните "npm install"
  3. Выполните "npm run build"
  4. Шаги для публикации: выполните "npm login"
  5. Выполните "npm publish --access public"

Для получения дополнительной информации о WebdriverIO посетите домашнюю страницу.

Welcome! How can I help?

WebdriverIO AI Copilot