npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wdio-jsbin

v2.0.5

Published

Webdriverio plugin for browser console logs

Downloads

3

Readme

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

| Parameter | Type | Details | |-----------|--------|-------------------------------------| | browser | Object | WebdriverIO'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

| Parameter | Type | Details | |------------|--------|-----------------------------------------| | logs | Object | The Browser's Log Object | | ignoreLogs | Object | The Log Object that needs to be ignored |

WriteLogs

This feature allows writing the Logs into a JSON File

| Parameter | Type | Details | |------------|--------|--------------------------------------------------| | reportPath | String | Path where the Logs JSON File needs to be stored | | ignoreLogs | Object | The 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!