---id: test-outputtitle: Test Output---:::info[This WebdriverIO](https://guinea-pig.webdriver.io/image-compare.html) demo site has been used for the example image output.:::## `enableLayoutTesting`This can be set on the [Service Options](./service-options#enablelayouttesting) as well as on the [Method](./method-options) level.```js// wdio.conf.(js|ts)export const config = {// ...// =====// Setup// =====services: [['visual',{enableLayoutTesting: true}]]// ...}```The image output for the [Service Options](./service-options#enablelayouttesting) is equal to the [Method](./method-options), see below.### Image Output<TabsdefaultValue="saveelement"values={[{label: 'saveElement | checkElement', value: 'saveelement'},{label: 'saveScreen | checkScreen', value: 'savescreen'},{label: 'saveFullPageScreen | checkFullPageScreen', value: 'savefullpagescreen'},{label: 'saveTabbablePage | checkTabbablePage', value: 'saveTabbablePage'},]}><TabItem value="saveelement">```jsawait browser.saveElement(".features_vqN4", "example-element-tag", {enableLayoutTesting: true})// Orawait browser.checkElement(".features_vqN4", "example-element-tag", {enableLayoutTesting: true})```</TabItem><TabItem value="savescreen">```jsawait browser.saveScreen("example-page-tag")```</TabItem><TabItem value="savefullpagescreen">```jsawait browser.saveFullPageScreen("full-page-tag")// Orawait browser.checkFullPageScreen("full-page-tag", {enableLayoutTesting: true})```</TabItem><TabItem value="saveTabbablePage">```jsawait browser.saveTabbablePage("tabbable-page-tag")// Orawait browser.checkTabbablePage("tabbable-page-tag", {enableLayoutTesting: true})```</TabItem></Tabs>## save(Screen/Element/FullPageScreen)### Console OutputThe `save(Screen/Element/FullPageScreen)` methods will provide the following information after the method has been executed:```jsconst saveResult = await browser.saveFullPageScreen({ ... })console.log(saveResults)/*** {* // The device pixel ratio of the instance that has run* devicePixelRatio: 1,* // The formatted filename, this depends on the options `formatImageName`* fileName: "examplePage-chrome-latest-1366x768.png",* // The path where the actual screenshot file can be found* path: "/path/to/project/.tmp/actual/desktop_chrome",* };*/```### Image Output<TabsdefaultValue="saveelement"values={[{label: 'saveElement', value: 'saveelement'},{label: 'saveScreen', value: 'savescreen'},{label: 'saveFullPageScreen', value: 'savefullpagescreen'},]}><TabItem value="saveelement">```jsawait browser.saveElement(".hero__title-logo", "example-element-tag")```<TabsdefaultValue="desktop"values={[{label: 'Desktop', value: 'desktop'},{label: 'Android', value: 'android'},{label: 'iOS', value: 'ios'},]}><TabItem value="desktop"></TabItem><TabItem value="android"></TabItem><TabItem value="ios"></TabItem></Tabs></TabItem><TabItem value="savescreen">```jsawait browser.saveScreen("example-page-tag")```<TabsdefaultValue="desktop"values={[{label: 'Desktop', value: 'desktop'},{label: 'Android ChromeDriver', value: 'android-chromedriver'},{label: 'Android nativeWebScreenshot', value: 'android-native'},{label: 'iOS', value: 'ios'},]}><TabItem value="desktop"></TabItem><TabItem value="android-chromedriver"></TabItem><TabItem value="android-native"></TabItem><TabItem value="ios">:::info TIPiOS `saveScreen` executions are by default not with the device bezel corners. To have this please add the `addIOSBezelCorners:true` option when instantiating the service, see [this](./service-options#addiosbezelcorners):::</TabItem></Tabs></TabItem><TabItem value="savefullpagescreen">```jsawait browser.saveFullPageScreen("full-page-tag")```<TabsdefaultValue="desktop"values={[{label: 'Desktop', value: 'desktop'},{label: 'Android', value: 'android'},{label: 'iOS', value: 'ios'},]}><TabItem value="desktop"></TabItem><TabItem value="android"></TabItem><TabItem value="ios"></TabItem></Tabs></TabItem></Tabs>## check(Screen/Element/FullPageScreen)### Console OutputBy default, the `check(Screen/Element/FullPageScreen)` methods will only provide a mismatch percentage like `1.23`, but when the plugin has the option `returnAllCompareData: true` the following information is provided after the method has been executed:```jsconst checkResult = await browser.checkFullPageScreen({ ... })console.log(checkResult)/*** {* // The formatted filename, this depends on the options `formatImageName`* fileName: "examplePage-chrome-headless-latest-1366x768.png",* folders: {* // The actual folder and the file name* actual: "/path/to/project/.tmp/actual/desktop_chrome/examplePage-chrome-headless-latest-1366x768.png",* // The baseline folder and the file name* baseline:* "/path/to/project/localBaseline/desktop_chrome/examplePage-chrome-headless-latest-1366x768.png",* // This following folder is optional and only if there is a mismatch* // The folder that holds the diffs and the file name* diff: "/path/to/project/.tmp/diff/desktop_chrome/examplePage-chrome-headless-latest-1366x768.png",* },* // The mismatch percentage* misMatchPercentage: 2.34,* };*/```### Image Output:::infoThe images below will only show differences as a result of running the check commands. Only the diff in a browser is shown, but the output for Android and iOS is the same.:::<TabsdefaultValue="checkelement"values={[{label: 'checkElement', value: 'checkelement'},{label: 'checkScreen', value: 'checkscreen'},{label: 'checkFullPageScreen', value: 'checkfullpagescreen'},]}><TabItem value="checkelement">```jsawait browser.checkElement("#__docusaurus_skipToContent_fallback > header > div > div.buttons_pzbO > a:nth-child(1)", "example-element-tag")```:::infoThe button text has been changed from `Get Started` to `Getting Started!` and detected as a change.:::</TabItem><TabItem value="checkscreen">```jsawait browser.checkScreen("example-page-tag")```:::infoThe button text has been changed from `Get Started` to `Getting Started!` and detected as a change.:::</TabItem><TabItem value="checkfullpagescreen">```jsawait browser.checkFullPageScreen("full-page-tag")```:::infoThe button text has been changed from `Get Started` to `Getting Started!` and detected as a change.:::</TabItem></Tabs>## Block-OutsHere you will find an example output for block-outs in Android NativeWebScreenshot and iOS where the status+address and toolbar are blocked out.<TabsdefaultValue="nativeWebScreenshot"values={[{label: 'Android nativeWebScreenshot', value: 'nativeWebScreenshot'},{label: 'iOS', value: 'ios'},]}><TabItem value="nativeWebScreenshot"></TabItem><TabItem value="ios"></TabItem></Tabs>