Перейти до основного вмісту

Сервіс 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", //provide your desired app name
app_path : "/path/to/your/app/file", //provide the local app location
// or
app_url : "https://example.test_android.apk", //provide the url where your app is horsted or stored
custom_id : "12345", //provide your desired custom id
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

Вказує ім'я хоста проксі-порту Tunnel.

Приклад:

{"proxyHost": "proxy.example.com"}

proxyUser

Вказує ім'я користувача проксі-порту Tunnel.

Приклад:

{"proxyUser": "your_proxy_username"}

proxyPass

Вказує пароль проксі-порту Tunnel.

Приклад:

{"proxyPass": "your_proxy_password"}

proxyPort

Вказує номер порту, на якому активується проксі Tunnel.

Приклад:

{"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-з'єднань від Tunnel Client до Tunnel Server. Максимально допустиме значення - 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. клонувати цей репозиторій git.
  2. виконати "npm install"
  3. виконати "npm run build"
  4. Кроки для публікації: виконати "npm login"
  5. виконати "npm publish --access public"

Для отримання додаткової інформації про WebdriverIO див. домашню сторінку.

Welcome! How can I help?

WebdriverIO AI Copilot