Skip to content

AnthonyShukanov/steps-playwright

 
 

Repository files navigation

npm version

@qavajs/steps-playwright

Step library to work with playwright in qavajs framework

Installation

npm install @qavajs/steps-playwright

Configuration

const App = require('./page_object');
module.exports = {
    default: {
        require: [
            'node_modules/@qavajs/steps-playwright/index.js'
        ],
        browser: {
            timeout: {
                present: 10000,
                visible: 20000,
                page: 10000
            },
            capabilities: {
                browserName: 'chromium'
            }
        },
        pageObject: new App()
    }
}

Connect to playwright server

In order to connect to playwright server pass wsEndpoint property in capabilities object

{
    capabilities: {
        browserName: 'chromium',
        wsEndpoint: 'ws://127.0.0.1:60291/2bd48ce272de2b543e4c8c533f664b83'    
    }
}

Connect to cdp endpoint

In order to connect to CDP endpoint pass cdpEndpoint property in capabilities object

{
    capabilities: {
        browserName: 'chromium',
        cdpEndpoint: 'http://localhost:9222/'    
    }
}

Screenshot strategy

@qavajs/steps-playwright has build-in capability to take screenshot on particular event. If you need to add screenshot to your report add screenshot property to profile config. Supported events:

  • onFail
  • beforeStep
  • afterStep
module.exports = {
    default: {
        screenshot: ['onFail']
    }
}

Playwright traces

@qavajs support capturing playwright traces. https://playwright.dev/docs/next/trace-viewer-intro

{
    browser: {
        trace: {
            event: ['onFail'], // Events to save trace. Possible value onFail or AfterScenario 
            dir: 'dirToStoreTraces', // Dir to store traces. Default is traces/
            attach: true // Define if trace need to be attached to cucumber report. Default false
        }
    }
}

Typescript

To properly use globals exposed by @qavajs/steps-playwright add corresponding types to tsconfig.json

{
  "compilerOptions": {
    "types": [
      "@qavajs/steps-playwright/globals"
    ]
  }
}

About

Collection of playwright steps for qavajs framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 66.6%
  • Gherkin 22.0%
  • HTML 10.4%
  • JavaScript 1.0%