import { Then } from '@wdio/cucumber-framework' Then(/^the title of the page should be:$/, async (expectedTitle) => { const actualTitle = await browser.getTitle() expect(actualTitle).toBe(expectedTitle) await expect(browser).toHaveTitle(expectedTitle) }) let hasRun = false Then('I should fail once but pass on the second run', { wrapperOptions: { retry: 1 } }, function () { if (!hasRun) { hasRun = true expect(this.wdioRetries).toBe(0) throw new Error('boom!') } expect(this.wdioRetries).toBe(1) }) Then('this is ambiguous', () => { }) Then('this test should fail', () => { console.log('This step should have never been executed :-(') expect(true).toBe(false) }) let fail = true Then('this steps fails only the first time used', () => { if (fail) { fail = false expect(true).toBe(false) } }) Then('it can take a file snapshot', () => { expect({ deep: { foo: 'bar' } }).toMatchSnapshot() }) Then('it can take an inline snapshot', () => { expect({ deep: { foo: 'bar' } }).toMatchInlineSnapshot(` { "deep": { "foo": "bar", }, } `) })