test-video-recorder

2.0.2 • Public • Published

test-video-recorder

Headless video recording for WebdriverIO and Mocha using FFmpeg.

Installation

  1. Use npm to install test-video-recorder.
npm install test-video-recorder
  1. FFmpeg is a dependency for this package. Visit their website to download and install the package.

Setup

After installing test-video-recorder and FFmpeg, import the package in your mocha test file or Webdriver IO config file.

const video = require('test-video-recorder');

Create the folder to save your video logs and set the path using the Node path module and the setPath function. The path below will save the videos to a log folder within the current test directory.

const path = require("path");
video.setPath(path.join(__dirname, "/log"));

Choose Test Type: WebdriverIO or Mocha

Follow the instructions below for your desired test type.

WebdriverIO

In your wdio config file, start the video recording using the beforeTest hook and stop the recording using the afterTest hook as seen below. The video start function requires the wdio test object from the hook function as well as a test type parameter, which in this case is 'wdio'.

exports.config = {
	// Start video before each test
	beforeTest: function ( test ) {
		video.start(test, 'wdio');
	},

	// Stop video recording after each test
	afterTest: function ( test ) {
		video.stop();
  }
}

Mocha

You can add video recording to Mocha test files directly using the beforeEach and afterEach hook within your describe block. The video start function requires the mocha currentTest object from the hook function as well as a test type parameter, which in this case is 'mocha'.

describe('Test group', function() {
  // Start video before each test in this block
  beforeEach(function() {
    video.start(this.currentTest, 'mocha');
  });
}

Stop the video recording after each test:

describe('Test group', function() {
  // ...

  // Stop each video after test completes
  afterEach(function() {
    video.stop();
  });
}

License

Distributed under GNU General Public License v3.0. See LICENSE for more information.

Contact

Jared Blumer - jaredgblumer@gmail.com

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i test-video-recorder

    Weekly Downloads

    33

    Version

    2.0.2

    License

    GPL-3.0-or-later

    Unpacked Size

    40.8 kB

    Total Files

    4

    Last publish

    Collaborators

    • jaredblumer