Nondigestible Purple Mayonnaise

    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

    Keywords

    none

    Install

    npm i test-video-recorder

    DownloadsWeekly Downloads

    30

    Version

    2.0.2

    License

    GPL-3.0-or-later

    Unpacked Size

    40.8 kB

    Total Files

    4

    Last publish

    Collaborators

    • jaredblumer