TestRecorder
Record a video automatically when tests failed. The videos are generated in tmp/videos directory.
This gem was inspired by Record video feature of Playwright.
Requirements
This gem depends on FFmpeg. Please install that package.
On Debian/Ubuntu:
sudo apt-get install ffmpegSupported libraries
Rails system tests and RSpec(System Spec and Feature Spec).
Limitations
Currently, this gem only supports a Headless Chrome.
Usage
1: Install the gem
Using Bundler, add the following to your Gemfile:
gem 'test-recorder', group: :test2: Load library into your tests
Rails
require 'test_recorder/rails'RSpec
require 'test_recorder/rspec'Only record specific tests
TestRecorder records all tests by default. But if you want to limit the tests, you can do it by specifying metadata.
Rails
1: Install the additional Gem
Using Bundler, add the following to your Gemfile:
gem 'activesupport-testing-metadata', group: :test2. Disable TestRecorder, and specified tests with the tag
# test/test_helper.rb
require 'test_recorder/rails'
require 'active_support/testing/metadata'
TestRecorder.disable!test "test to something", test_recorder: true do
# ...
endRSpec
You don't need to install other gems. Only disable TestRecorder, and specified tests with the tag.
# test/test_helper.rb
require 'test_recorder/rspec'
TestRecorder.disable!it "test to something", test_recorder: true do
# ...
endConfiguration
You can change the recording quality and the max width/height (in pixels).
TestRecorder.jpeg_quality = 80 # default: 60
TestRecorder.max_dimension = 1280 # default: 1000You can also record only every Nth frame. This lowers the recording overhead at the cost of a choppier video. The playback duration stays the same.
TestRecorder.every_nth_frame = 3 # default: 1