메소드 옵션
메소드 옵션은 메소드별로 설정할 수 있는 옵션입니다. 옵션의 키가 플러그인 인스턴스화 중에 설정된 옵션과 동일한 경우, 이 메소드 옵션은 플러그인 옵션 값을 재정의합니다.
저장 옵션
disableBlinkingCursor
- 타입:
boolean - 필수: 아니오
- 기본값:
false - 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
애플리케이션에서 모든 input, textarea, [contenteditable] 캐럿 "깜박임"을 활성화/비활성화합니다. true로 설정하면 스크린샷을 찍기 전에 캐럿이 transparent로 설정되고 완료 시 재설정됩니다.
await browser.saveScreen(
'sample-tag',
{
disableBlinkingCursor: true
}
)
disableCSSAnimation
- 타입:
boolean - 필수: 아니오
- 기본값:
false - 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
애플리케이션의 모든 CSS 애니메이션을 활성화/비활성화합니다. true로 설정하면 스크린샷을 찍기 전에 모든 애니메이션이 비활성화되고 완료 시 재설정됩니다.
await browser.saveScreen(
'sample-tag',
{
disableCSSAnimation: true
}
)
enableLegacyScreenshotMethod
- 타입:
boolean - 필수: 아니오
- 기본값:
false - 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
W3C-WebDriver 프로토콜 기반의 "이전" 스크린샷 메소드로 돌아가려면 이 옵션을 사용하세요. 테스트가 기존 기준 이미지에 의존하거나 최신 BiDi 기반 스크린샷을 완전히 지원하지 않는 환경에서 실행 중인 경우 유용할 수 있습니다. 이 옵션을 활성화하면 약간 다른 해상도 나 품질의 스크린샷이 생성될 수 있습니다.
await browser.saveScreen(
'sample-tag',
{
enableLegacyScreenshotMethod: true
}
)
enableLayoutTesting
- 타입:
boolean - 필수: 아니오
- 기본값:
false - 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
이 옵션은 페이지의 모든 텍스트를 숨겨 비교에 레이아웃만 사용합니다. 숨김은 각 요소에 'color': 'transparent !important' 스타일을 추가하여 수행됩니다.
출력 결과는 테스트 출력을 참조하세요.
이 플래그를 사용하면 텍스트가 포함된 각 요소(p, h1, h2, h3, h4, h5, h6, span, a, li뿐만 아니라 div|button|.. 포함)가 이 속성을 갖게 됩니다. 이를 조정할 수 있는 옵션은 없습니다.
await browser.saveScreen(
'sample-tag',
{
enableLayoutTesting: true
}
)
hideScrollBars
- 타입:
boolean - 필수: 아니오
- 기본값:
true - 사용 가능한 메소드: 모든 메소드
- 지원되 는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
애플리케이션에서 스크롤바를 숨깁니다. true로 설정하면 스크린샷을 찍기 전에 모든 스크롤바가 비활성화됩니다. 추가 문제를 방지하기 위해 기본값은 true로 설정되어 있습니다.
await browser.saveScreen(
'sample-tag',
{
hideScrollBars: false
}
)
hideElements
- 타입:
array - 필수: 아니오
- 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
이 메소드는 요소 배열을 제공하여 하나 이상의 요소에 visibility: hidden 속성을 추가하여 숨길 수 있습니다.
await browser.saveScreen(
'sample-tag',
{
hideElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
removeElements
- 타입:
array - 필수: 아니오
- 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
이 메소드는 요소 배열을 제공하여 하나 이상의 요소에 display: none 속성을 추가하여 _제거_할 수 있습니다.
await browser.saveScreen(
'sample-tag',
{
removeElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
resizeDimensions
- 타입:
object - 필수: 아니오
- 기본값:
{ top: 0, right: 0, bottom: 0, left: 0} - 사용 가능한 메소드:
saveElement또는checkElement에서만 사용 가능 - 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰), 네이티브 앱
요소 잘라내기를 더 크게 만들기 위해 필요한 픽셀 수를 top, right, bottom 및 left로 포함해야 하는 객체입니다.
await browser.saveElement(
'sample-tag',
{
resizeDimensions: {
top: 50,
left: 100,
right: 10,
bottom: 90,
},
}
)
userBasedFullPageScreenshot
- 타입:
boolean - 필수: 아니오
- 기본값:
false - 사용 가능한 메소드:
saveFullPageScreen,saveTabbablePage,checkFullPageScreen또는checkTabbablePage에서만 사용 가능 - 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
true로 설정하면 이 옵션은 전체 페이지 스크린샷을 캡처하기 위한 스크롤 및 스티치 전략을 활성화합니다.
브라우저의 기본 스크린샷 기능을 사용하는 대신, 페이지를 수동으로 스크롤하고 여러 스크린샷을 함께 결합합니다.
이 방법은 지연 로딩 콘텐츠가 있거나 완전히 렌더링하기 위해 스크롤이 필요한 복잡한 레이아웃이 있는 페이지에 특히 유용합니다.
await browser.saveScreen(
'sample-tag',
{
userBasedFullPageScreenshot: true
}
)
fullPageScrollTimeout
- 타입:
number - 필수: 아니오
- 기본값:
1500 - 사용 가능한 메소드:
saveFullPageScreen또는saveTabbablePage에서만 사용 가능 - 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
스크롤 후 대기하는 시간(밀리초)입니다. 이는 지연 로딩이 있는 페이지를 식별하는 데 도움이 될 수 있습니다.
참고: 이는
userBasedFullPageScreenshot이true로 설정된 경우에만 작동합니다
await browser.saveFullPageScreen(
'sample-tag',
{
fullPageScrollTimeout: 3 * 1000
}
)
hideAfterFirstScroll
- 타입:
array - 필수: 아니오
- 사용 가능한 메소드:
saveFullPageScreen또는saveTabbablePage에서만 사용 가능 - 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
이 메소드는 요소 배열을 제공하여 하나 이상의 요소에 visibility: hidden 속성을 추가하여 숨깁니다.
이는 예를 들어 페이지가 스티키 요소를 포함하고 있고, 페이지가 스크롤될 때 스크롤과 함께 이동하지만 전체 페이지 스크린샷을 만들 때 성가신 효과를 주는 경우에 유용합니다.
참고: 이는
userBasedFullPageScreenshot이true로 설정된 경우에만 작동합니다
await browser.saveFullPageScreen(
'sample-tag',
{
hideAfterFirstScroll: [
await $('#element-1'),
await $('#element-2'),
]
}
)
waitForFontsLoaded
- 타입:
boolean - 필수: 아니오
- 기본값:
true - 사용 가능한 메소드: 모든 메소드
- 지원되는 애플리케이션 컨텍스트: 웹, 하이브리드 앱(웹뷰)
폰트(타사 폰트 포함)는 동기적으로 또는 비동기적으로 로드될 수 있습니다. 비동기 로딩은 WebdriverIO가 페이지가 완전히 로드되었다고 판단한 후에도 폰트가 로드될 수 있음을 의미합니다. 폰트 렌더링 문제를 방지하기 위해 이 모듈은 기본적으로 스크린샷을 찍기 전에 모든 폰트가 로드될 때까지 기다립니다.
await browser.saveScreen(
'sample-tag',
{
waitForFontsLoaded: true
}
)
비교 (검사) 옵션
비교 옵션은 ResembleJS에 의해 실행되는 비교 방식에 영향을 미치는 옵션입니다.
ignoreAlpha
- 타입:
boolean - 기본값:
false - 필수: 아니오
- 사용 가능한 메소드: 모든 검사 메소드
- 지원되는 애플리케이션 컨텍스트: 모두
이미지를 비교하고 알파 채널을 무시합니다.
await browser.checkScreen(
'sample-tag',
{
ignoreAlpha: true
}
)
blockOutSideBar
- 타입:
boolean - 기본값:
true - 필수: 아니오
- 사용 가능한 메소드:
checkScreen()에서만 사용 가능. iPad 전용 - 지원되는 애플리케이션 컨텍스트: 모두
iPad의 가로 모드에서 비교 중에 사이드바를 자동으로 차단합니다. 이는 탭/개인/북마크 네이티브 컴포넌트에서의 오류를 방지합니다.
await browser.checkScreen(
'sample-tag',
{
blockOutSideBar: true
}
)
blockOutStatusBar
- 타입:
boolean - 기본값:
true