Package Exports
- @qavajs/steps-playwright
- @qavajs/steps-playwright/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@qavajs/steps-playwright) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@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()
}
}Global variables
@qavajs/steps-playwright exposes following global variables
| variable | type | description |
|---|---|---|
browser |
Browser |
browser instance |
driver |
Browser |
browser instance (alias for browser) |
context |
BrowserContext |
current browser context |
page |
Page |
current context page |
contexts |
{ [contextName: string]: BrowserContext } |
Map of opened contexts in multi browser mode |
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: {
browser: {
screenshot: ['onFail']
}
}
}Playwright traces
@qavajs support capturing playwright traces. https://playwright.dev/docs/next/trace-viewer-intro Trace Viewer - https://trace.playwright.dev/
export default {
//...
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
}
}
}Video
@qavajs support capturing playwright traces. https://playwright.dev/docs/next/trace-viewer-intro
export default {
//...
browser: {
video: {
event: ['onFail'], // Events to save video. Possible value onFail or afterScenario
dir: 'dirToStoreVideo', // Dir to store video. Default is video/
size: { width: 640, height: 480 }, // Video resolution
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"
]
}
}