Mock 객체
mock 객체는 네트워크 목(mock)을 나타내는 객체로, 주어진 url
과 filterOptions
에 일치하는 요청에 대한 정보를 포함합니다. 이 객체는 mock
명령을 사용하여 얻을 수 있습니다.
mock
명령을 사용하려면 Chrome DevTools 프로토콜 지원이 필요합니다.
이 지원은 Chromium 기반 브라우저에서 로컬로 테스트를 실행하거나
Selenium Grid v4 이상을 사용할 때 제공됩니다. 이 명령은 클라우드에서 자동화된
테스트를 실행할 때 사용할 수 없습니다. 자세한 내용은 자동화 프로토콜 섹션을 참조하세요.
WebdriverIO에서 요청 및 응답 모킹에 대한 자세한 내용은 Mocks and Spies 가이드에서 확인할 수 있습니다.
속성
mock 객체는 다음과 같은 속성을 포함합니다:
이름 | 타입 | 세부 정보 |
---|---|---|
url | String | mock 명령에 전달된 URL |
filterOptions | Object | mock 명령에 전달된 리소스 필터 옵션 |
browser | Object | mock 객체를 얻는 데 사용된 브라우저 객체 |
calls | Object[] | 일치하는 브라우저 요청에 대한 정보로, url , method , headers , initialPriority , referrerPolic , statusCode , responseHeaders 및 body 와 같은 속성을 포함 |
메서드
mock 객체는 mock
섹션에 나열된 다양한 명령을 제공하며, 사용자가 요청이나 응답의 동작을 수정할 수 있게 합니다.
이벤트
mock 객체는 EventEmitter이며 사용 사례에 맞게 여러 이벤트가 발생합니다.
다음은 이벤트 목록입니다.
request
이 이벤트는 mock 패턴과 일치하는 네트워크 요청을 시작할 때 발생합니다. 요청은 이벤트 콜백으로 전달됩니다.
Request 인터페이스:
interface RequestEvent {
requestId: number
request: Matches
responseStatusCode: number
responseHeaders: Record<string, string>
}
overwrite
이 이벤트는 respond
또는 respondOnce
로 네트워크 응답이 덮어쓰기될 때 발생합니다. 응답은 이벤트 콜백으로 전달됩니다.
Response 인터페이스:
interface OverwriteEvent {
requestId: number
responseCode: number
responseHeaders: Record<string, string>
body?: string | Record<string, any>
}
fail
이 이벤트는 abort
또는 abortOnce
로 네트워크 요청이 중단될 때 발생합니다. 실패는 이벤트 콜백으로 전달됩니다.
Fail 인터페이스:
interface FailEvent {
requestId: number
errorReason: Protocol.Network.ErrorReason
}