e2e/hooks/index.js (view raw)
1'use strict'
2
3/* global browser */
4
5const cmds = require('wdio-screen-commands')
6
7/* eslint-disable jsdoc/valid-types */
8/** @type WebdriverIO.HookFunctions */
9const config = {
10 before: async () => {
11 global.uuidv4 = require('uuid').v4
12 browser.addCommand('saveScreenshotByName', cmds.saveScreenshotByName)
13 browser.addCommand('saveAndDiffScreenshot', cmds.saveAndDiffScreenshot)
14 if (browser.config.appium)
15 await browser.updateSettings(browser.config.appium)
16 if (browser.config.maximizeWindow) await browser.maximizeWindow()
17 },
18 beforeTest: async test => {
19 await cmds.startScreenRecording(test)
20 },
21 afterTest: async (test, context, result) => {
22 await Promise.all([
23 cmds.stopScreenRecording(test, result),
24 cmds.saveScreenshotByTest(test, result)
25 ])
26 }
27}
28
29module.exports = config