사용자 정의 서비스
WDIO 테스트 러너에서 자신의 필요에 맞는 사용자 정의 서비스를 작성할 수 있습니다.
서비스는 테스트를 단순화하고, 테스트 스위트를 관리하며, 결과를 통합하기 위해 생성된 재사용 가능한 로직의 애드온입니다. 서비스는 wdio.conf.js
에서 사용 가능한 모든 훅에 접근할 수 있습니다.
두 가지 유형의 서비스를 정의할 수 있습니다: 테스트 실행 당 한 번만 실행되는 onPrepare
, onWorkerStart
, onWorkerEnd
, onComplete
훅에만 접근할 수 있는 런처 서비스와 다른 모든 훅에 접근할 수 있으며 각 워커마다 실행되는 워커 서비스입니다. 워커 서비스는 다른 (워커) 프로세스에서 실행되기 때문에 두 유형의 서비스 간에 (전역) 변수를 공유할 수 없습니다.
런처 서비스는 다음과 같이 정의할 수 있습니다:
export default class CustomLauncherService {
// 훅이 프로미스를 반환하면 WebdriverIO는 해당 프로미스가 해결될 때까지 기다립니다.
async onPrepare(config, capabilities) {
// TODO: 모든 워커가 시작되기 전에 수행할 작업
}
onComplete(exitCode, config, capabilities) {
// TODO: 워커가 종료된 후 수행할 작업
}
// 사용자 정의 서비스 메서드 ...
}