메인 컨텐츠로 건너뛰기

클라우드 서비스 사용하기

WebdriverIO에서 Sauce Labs, Browserstack, TestingBot, LambdaTest 또는 Perfecto와 같은 온디맨드 서비스를 사용하는 것은 매우 간단합니다. 옵션에 서비스의 userkey를 설정하기만 하면 됩니다.

선택적으로, build와 같은 클라우드별 기능을 설정하여 테스트를 매개변수화할 수도 있습니다. Travis에서만 클라우드 서비스를 실행하려면 CI 환경 변수를 사용하여 Travis에 있는지 확인하고 그에 따라 구성을 수정할 수 있습니다.

// wdio.conf.js
export let config = {...}
if (process.env.CI) {
config.user = process.env.SAUCE_USERNAME
config.key = process.env.SAUCE_ACCESS_KEY
}

Sauce Labs

테스트를 Sauce Labs에서 원격으로 실행하도록 설정할 수 있습니다.

유일한 요구 사항은 구성에서 userkey를 Sauce Labs 사용자 이름과 액세스 키로 설정하는 것입니다(wdio.conf.js에서 내보내거나 webdriverio.remote(...)에 전달).

또한 모든 브라우저의 capabilities에 키/값으로 선택적 테스트 구성 옵션을 전달할 수도 있습니다.

Sauce Connect

인터넷에 접근할 수 없는 서버(예: localhost)에 대해 테스트를 실행하려면 Sauce Connect를 사용해야 합니다.

이를 지원하는 것은 WebdriverIO의 범위를 벗어나므로 직접 시작해야 합니다.

WDIO 테스트러너를 사용하는 경우 wdio.conf.js에서 @wdio/sauce-service를 다운로드하고 구성하세요. 이는 Sauce Connect를 실행하는 데 도움이 되며 테스트를 Sauce 서비스에 더 잘 통합하는 추가 기능이 제공됩니다.

Travis CI와 함께 사용

그러나 Travis CI는 각 테스트 전에 Sauce Connect를 시작하기 위한 지원을 제공하므로, 해당 지침을 따르는 것이 옵션입니다.

그렇게 하는 경우, 각 브라우저의 capabilities에서 tunnel-identifier 테스트 구성 옵션을 설정해야 합니다. Travis는 기본적으로 이를 TRAVIS_JOB_NUMBER 환경 변수로 설정합니다.

또한 Sauce Labs에서 빌드 번호별로 테스트를 그룹화하려면 buildTRAVIS_BUILD_NUMBER로 설정할 수 있습니다.

마지막으로, name을 설정하면 이 빌드에서 Sauce Labs의 테스트 이름이 변경됩니다. WDIO 테스트러너와 @wdio/sauce-service를 함께 사용하는 경우 WebdriverIO는 테스트에 적절한 이름을 자동으로 설정합니다.

capabilities 예시:

browserName: 'chrome',
version: '27.0',
platform: 'XP',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
name: 'integration',
build: process.env.TRAVIS_BUILD_NUMBER

타임아웃

원격으로 테스트를 실행하므로 일부 타임아웃을 늘려야 할 수도 있습니다.

테스트 구성 옵션으로 idle-timeout을 전달하여 유휴 타임아웃을 변경할 수 있습니다. 이는 Sauce가 연결을 닫기 전에 명령 사이의 대기 시간을 제어합니다.

BrowserStack

WebdriverIO에는 Browserstack 통합도 내장되어 있습니다.

유일한 요구 사항은 구성에서 userkey를 Browserstack 자동화 사용자 이름과 액세스 키로 설정하는 것입니다(wdio.conf.js에서 내보내거나 webdriverio.remote(...)에 전달).

또한 모든 브라우저의 capabilities에 키/값으로 선택적 지원되는 기능을 전달할 수도 있습니다. browserstack.debugtrue로 설정하면 세션의 스크린캐스트가 녹화되어 도움이 될 수 있습니다.

로컬 테스팅

인터넷에 접근할 수 없는 서버(예: localhost)에 대해 테스트를 실행하려면 로컬 테스팅을 사용해야 합니다.

이를 지원하는 것은 WebdriverIO의 범위를 벗어나므로 직접 시작해야 합니다.

로컬을 사용하는 경우 capabilities에서 browserstack.localtrue로 설정해야 합니다.

WDIO 테스트러너를 사용하는 경우 wdio.conf.js에서 @wdio/browserstack-service를 다운로드하고 구성하세요. 이는 BrowserStack을 실행하는 데 도움이 되며 테스트를 BrowserStack 서비스에 더 잘 통합하는 추가 기능이 제공됩니다.

Travis CI와 함께 사용

Travis에서 로컬 테스팅을 추가하려면 직접 시작해야 합니다.

다음 스크립트는 이를 다운로드하고 백그라운드에서 시작합니다. 테스트를 시작하기 전에 Travis에서 이를 실행해야 합니다.

wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
unzip BrowserStackLocal-linux-x64.zip
./BrowserStackLocal -v -onlyAutomate -forcelocal $BROWSERSTACK_ACCESS_KEY &
sleep 3

또한 build를 Travis 빌드 번호로 설정할 수도 있습니다.

capabilities 예시:

browserName: 'chrome',
project: 'myApp',
version: '44.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'browserstack.local': 'true',
'browserstack.debug': 'true'

TestingBot

유일한 요구 사항은 구성에서 userkeyTestingBot 사용자 이름과 비밀 키로 설정하는 것입니다(wdio.conf.js에서 내보내거나 webdriverio.remote(...)에 전달).

또한 모든 브라우저의 capabilities에 키/값으로 선택적 지원되는 기능을 전달할 수도 있습니다.

로컬 테스팅

인터넷에 접근할 수 없는 서버(예: localhost)에 대해 테스트를 실행하려면 로컬 테스팅을 사용해야 합니다. TestingBot은 인터넷에서 접근할 수 없는 웹사이트를 테스트할 수 있도록 Java 기반 터널을 제공합니다.

터널 지원 페이지에는 이를 설정 및 실행하는 데 필요한 정보가 포함되어 있습니다.

WDIO 테스트러너를 사용하는 경우 wdio.conf.js에서 @wdio/testingbot-service를 다운로드하고 구성하세요. 이는 TestingBot을 실행하는 데 도움이 되며 테스트를 TestingBot 서비스에 더 잘 통합하는 추가 기능이 제공됩니다.

LambdaTest

LambdaTest 통합도 내장되어 있습니다.

유일한 요구 사항은 구성에서 userkey를 LambdaTest 계정 사용자 이름과 액세스 키로 설정하는 것입니다(wdio.conf.js에서 내보내거나 webdriverio.remote(...)에 전달).

또한 모든 브라우저의 capabilities에 키/값으로 선택적 지원되는 기능을 전달할 수도 있습니다. visualtrue로 설정하면 세션의 스크린캐스트가 녹화되어 도움이 될 수 있습니다.

로컬 테스팅을 위한 터널

인터넷에 접근할 수 없는 서버(예: localhost)에 대해 테스트를 실행하려면 로컬 테스팅을 사용해야 합니다.

이를 지원하는 것은 WebdriverIO의 범위를 벗어나므로 직접 시작해야 합니다.

로컬을 사용하는 경우 capabilities에서 tunneltrue로 설정해야 합니다.

WDIO 테스트러너를 사용하는 경우 wdio.conf.js에서 wdio-lambdatest-service를 다운로드하고 구성하세요. 이는 LambdaTest를 실행하는 데 도움이 되며 테스트를 LambdaTest 서비스에 더 잘 통합하는 추가 기능이 제공됩니다.

Travis CI와 함께 사용

Travis에서 로컬 테스팅을 추가하려면 직접 시작해야 합니다.

다음 스크립트는 이를 다운로드하고 백그라운드에서 시작합니다. 테스트를 시작하기 전에 Travis에서 이를 실행해야 합니다.

wget http://downloads.lambdatest.com/tunnel/linux/64bit/LT_Linux.zip
unzip LT_Linux.zip
./LT -user $LT_USERNAME -key $LT_ACCESS_KEY -cui &
sleep 3

또한 build를 Travis 빌드 번호로 설정할 수도 있습니다.

capabilities 예시:

platform: 'Windows 10',
browserName: 'chrome',
version: '79.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'tunnel': 'true',
'visual': 'true'

Perfecto

wdio를 Perfecto와 함께 사용할 때, 각 사용자에 대한 보안 토큰을 생성하고 이를 capabilities 구조에 추가해야 합니다(다른 capabilities 외에도):

export const config = {
capabilities: [{
// ...
securityToken: "your security token"
}],

또한 다음과 같이 클라우드 구성을 추가해야 합니다:

  hostname: "your_cloud_name.perfectomobile.com",
path: "/nexperience/perfectomobile/wd/hub",
port: 443,
protocol: "https",

Welcome! How can I help?

WebdriverIO AI Copilot