An open API service indexing awesome lists of open source software.

https://github.com/qavajs/steps-wdio

Collection of WDIO steps for qavajs framework
https://github.com/qavajs/steps-wdio

qa test-automation testing

Last synced: 6 months ago
JSON representation

Collection of WDIO steps for qavajs framework

Awesome Lists containing this project

README

          

[![npm version](https://badge.fury.io/js/@qavajs%2Fsteps-wdio.svg)](https://badge.fury.io/js/@qavajs%2Fsteps-wdio)

# @qavajs/steps-wdio
**`@qavajs/steps-wdio`** provides a comprehensive set of pre-built step definitions for [qavajs](https://github.com/qavajs/qavajs), powered by [webdriver.io](https://webdriver.io/).
It enables easy and efficient browser automation in a behavior-driven development (BDD) style using Cucumber syntax.

## Features

- Predefined steps for web automation using webdriver.io
- Seamless integration with `@qavajs/core`
- Support for dynamic locators and parameters
- Built-in assertions and synchronization steps
- Easily extendable for custom needs

## Installation

```
npm install @qavajs/steps-wdio
```

## Configuration

```typescript
import App from './page_object';

export default {
require: [
'node_modules/@qavajs/steps-wdio/index.js'
],
browser: {
timeout: {
present: 10000,
visible: 20000,
clickable: 15000,
page: 10000,
implicit: 0, //wdio implicit wait for element,
element: 2000,//timeout to element to be accesible,
value: 5000, // expect value timeout
valueInterval: 500 //expect value interval
},
capabilities: {
browserName: 'chrome'
}
},
pageObject: new App()
}
```

## Screenshots
@qavajs/steps-wdio 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

```typescript
export default {
browser: {
capabilities: {
browserName: 'chrome'
},
screenshot: {
event: ['onFail']
}
}
}
```

## Snapshot
@qavajs/steps-wdio has build-in capability to take page snapshot on particular event.
Supported events:
- onFail
- beforeStep
- afterStep

```typescript
export default {
browser: {
capabilities: {
browserName: 'chrome'
},
snapshot: {
event: ['onFail']
}
}
}
```

## reuseSession
`reuseSession` flag allows to share session between tests in frames of process. But setting of this flag
transfer session control to user.

```javascript
export default {
browser: {
reuseSession: true
}
}
```