2.0.5 • Published 4 years ago

wdio-jsbin v2.0.5

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

wdio-jsbin

A WebdriverIO utility for Capturing, Filtering and Writing Browser Console Logs

Many a times while interacting with a Web Application, we have seen in the Browser's Console Log, that there are Errors because of a Broken Javascript or Bad Request or simply a Console Log that was left in the Source Code erroneously.

These types of Errors/Logs are tested manually and often get skipped in the Functional Testing and make their way to Production, hampering the quality of site and posing Security threats thereby.

wdio-jsbin provides a solution to test these Logs in an Automated way.

Installation

npm install wdio-jsbin

Features

The Module contains the following features:

CaptureLogs

This feature allows Capturing of Browser Logs

ParameterTypeDetails
browserObjectWebdriverIO's Global Browser Object

FilterLogs

The Module supports 2 ways of Filtering Logs:

1) Level: 'SEVERE', 'WARNING', 'INFO', 'DEBUG' 2) Message: Through Contain and Equal Logic

ParameterTypeDetails
logsObjectThe Browser's Log Object
ignoreLogsObjectThe Log Object that needs to be ignored

WriteLogs

This feature allows writing the Logs into a JSON File

ParameterTypeDetails
reportPathStringPath where the Logs JSON File needs to be stored
ignoreLogsObjectThe Log Object that needs to be ignored

Usage:

The Module can be used in the following way:

Import the Module and initialize the ignoreLogs Object

const {captureLogs, writeLogs} = require('wdio-jsbin');
const ignoreLogs = {

      withLevel: ['DEBUG'],
      whichContainMessage: ['String that needs to be ignored, works on Include Logic'],
      whichEqualMessage: ['Exact String that needs to be ignored']
}

Example 1 - Use captureLogs and writeLogs Functions by calling them within WebdriverIO Hooks

afterCommand: function () {
      captureLogs({ browser});
},

after: function () {
      writeLogs({ reportPath: 'Path of the Directory', ignoreLogs:ignoreLogs});//In case no filtering is //required, pass the ignoreLogs as an empty object i.e ignoreLogs:{}
}

Example 2: Use captureLogs and filterLogs Functions by calling them from anywhere within the Code

const {filterLogs} = require('wdio-jsbin');

async doSomethingFunction() {
      let logs = await captureLogs({browser});
      console.log('filteredLogs', filterLogs(logs.value, ignoreLogs));
}

License

ISC

Free Software, Hell Yeah!

2.0.5

4 years ago

2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago