メソッドオプション
メソッドオプションは、メソッドごとに設定できるオプションです。オプションのキーが、プラグインのインスタンス化時に設定されたオプションと同じである場合、このメソッドオプションはプラグインオプションの値を上書きします。
保存オプション
disableCSSAnimation
- 型:
boolean
- 必須: いいえ
- デフォルト:
false
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)
アプリケーション内のすべてのCSSアニメーションと入力カーソルを有効/無効にします。trueに設定すると、スクリーンショットを撮る前にすべてのアニメーションが無効になり、終了時にリセットされます。
enableLayoutTesting
- 型:
boolean
- 必須: いいえ
- デフォルト:
false
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web
これにより、ページ上のすべてのテキストが非表示になり、レイアウトのみが比較に使用されます。非表示は、各要素にスタイル'color': 'transparent !important'
を追加することで行われます。
出力については、テスト出力を参照してください。
このフラグを使用すると、テキストを含む各要素(p, h1, h2, h3, h4, h5, h6, span, a, li
だけでなく、div|button|..
も)にこのプロパティが設定されます。これを調整するオプションは**ありません**。
hideScrollBars
- 型:
boolean
- 必須: いいえ
- デフォルト:
true
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)
アプリケーション内のスクロールバーを非表示にします。trueに設定すると、スクリーンショットを撮る前にすべてのスクロールバーが無効になります。追加の問題を防ぐため、デフォルトはtrue
に設定されています。
hideElements
- 型:
array
- 必須: いいえ
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)、ネイティブアプリ
このメソッドは、要素の配列を提供することにより、それらにプロパティvisibility: hidden
を追加することで、1つまたは複数の要素を非表示にすることができます。
removeElements
- 型:
array
- 必須: いいえ
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)、ネイティブアプリ
このメソッドは、要素の配列を提供することにより、それらにプロパティdisplay: none
を追加することで、1つまたは複数の要素を削除できます。
resizeDimensions
- 型:
object
- 必須: いいえ
- デフォルト:
{ top: 0, right: 0, bottom: 0, left: 0}
- 使用メソッド:
saveElement
またはcheckElement
のみ - 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)、ネイティブアプリ
要素の切り抜きを大きくするために必要なピクセル数をtop
、right
、bottom
、left
に保持する必要があるオブジェクト。
fullPageScrollTimeout
- 型:
number
- 必須: いいえ
- デフォルト:
1500
- 使用メソッド:
saveFullPageScreen
またはsaveTabbablePage
のみ - 対応プラットフォーム: Web
スクロール後に待機するミリ秒単位のタイムアウトです。これにより、遅延読み込みのあるページを特定するのに役立つ場合があります。
hideAfterFirstScroll
- 型:
array
- 必須: いいえ
- 使用メソッド:
saveFullPageScreen
またはsaveTabbablePage
のみ - 対応プラットフォーム: Web
このメソッドは、要素の配列を提供することにより、それらにプロパティvisibility: hidden
を追加することで、1つまたは複数の要素を非表示にします。これは、たとえば、ページがスクロールされた場合にページとスクロールするスティッキー要素を含むページがある場合に、フルページスクリーンショットを作成するときに煩わしい効果を与える場合に便利です。
waitForFontsLoaded
- 型:
boolean
- 必須: いいえ
- デフォルト:
true
- 使用メソッド: 全てのメソッド
- 対応プラットフォーム: Web、ハイブリッドアプリ(Webビュー)
サードパーティのフォントを含むフォントは、同期的にまたは非同期的に読み込むことができます。非同期読み込みは、フォントがWebdriverIOがページが完全に読み込まれたと判断した後に読み込まれる可能性があることを意味します。フォントのレンダリングの問題を防ぐために、このモジュールはデフォルトで、スクリーンショットを撮る前にすべてのフォントが読み込まれるのを待ちます。
比較(チェック)オプション
比較オプションは、ResembleJSによる比較の実行方法に影響を与えるオプションです。
- 保存オプションのすべてのオプションは、比較メソッドで使用できます。
- すべての比較オプションは、サービスのインスタンス化時または各チェックメソッドで使用できます。メソッドオプションのキーが、サービスのインスタンス化時に設定されたオプションと同じである場合、メソッド比較オプションはサービス比較オプションの値を上書きします。
- すべてのオプションは以下で使用できます。
- Web
- ハイブリッドアプリ
- ネイティブアプリ
ignoreAlpha
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
アルファを破棄して画像を比較します。
blockOutSideBar
- 型:
boolean
- デフォルト:
true
- 必須: いいえ
- 備考:
checkScreen()
でのみ使用できます。これはiPadのみです
比較中に、横向きモードのiPadのサイドバーを自動的にブロックアウトします。これにより、タブ/プライベート/ブックマークのネイティブコンポーネントでの失敗を防ぎます。
blockOutStatusBar
- 型:
boolean
- デフォルト:
true
- 必須: いいえ
- 備考: これはモバイルのみです
比較中に、ステータスバーとアドレスバーを自動的にブロックアウトします。これにより、時間、Wi-Fi、またはバッテリーの状態での失敗を防ぎます。
blockOutToolBar
- 型:
boolean
- デフォルト:
true
- 必須: いいえ
- 備考: これはモバイルのみです
ツールバーを自動的にブロックアウトします。
ignoreAntialiasing
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
アンチエイリアシングを破棄して画像を比較します。
ignoreColors
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
画像はカラーでも、比較は2つの白黒画像を比較します。
ignoreLess
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
red = 16, green = 16, blue = 16, alpha = 16, minBrightness=16, maxBrightness=240
を使用して画像を比較します。
ignoreNothing
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
red = 0, green = 0, blue = 0, alpha = 0, minBrightness=0, maxBrightness=255
を使用して画像を比較します。
rawMisMatchPercentage
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
trueの場合、戻り値のパーセンテージは0.12345678
のようになり、デフォルトは0.12
です。
returnAllCompareData
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
これにより、不一致の割合だけでなく、すべての比較データが返されます。
saveAboveTolerance
- 型:
number
- デフォルト:
0
- 必須: いいえ
差分のある画像の保存を防ぐmisMatchPercentage
の許容値。
largeImageThreshold
- 型:
number
- デフォルト:
0
- 必須: いいえ
大きな画像を比較すると、パフォーマンスの問題が発生する可能性があります。ここにピクセル数(0より大きい)を指定すると、画像の幅または高さがlargeImageThreshold
ピクセルより大きい場合、比較アルゴリズムはピクセルをスキップします。
scaleImagesToSameSize
- 型:
boolean
- デフォルト:
false
- 必須: いいえ
比較の実行前に、2つの画像を同じサイズにスケーリングします。ignoreAntialiasing
とignoreAlpha
を有効にすることを強くお勧めします。
フォルダーオプション
ベースラインフォルダーとスクリーンショットフォルダー(実際、差分)は、プラグインまたはメソッドのインスタンス化時に設定できるオプションです。特定のメソッドでフォルダーオプションを設定するには、メソッドオプションオブジェクトにフォルダーオプションを渡します。これは以下で使用できます。
- Web
- ハイブリッドアプリ
- ネイティブアプリ
import path from 'node:path'
const methodOptions = {
actualFolder: path.join(process.cwd(), 'customActual'),
baselineFolder: path.join(process.cwd(), 'customBaseline'),
diffFolder: path.join(process.cwd(), 'customDiff'),
}
// You can use this for all methods
await expect(
await browser.checkFullPageScreen("checkFullPage", methodOptions)
).toEqual(0)
actualFolder
- 型:
string
- 必須: いいえ
テストでキャプチャされたスナップショットのフォルダー。
baselineFolder
- 型:
string
- 必須: いいえ
比較対象となるベースライン画像のフォルダ。
diffFolder
- 型:
string
- 必須: いいえ
ResembleJSによってレンダリングされた画像差分のフォルダ。