The BugReplay TestCafe integration records screencasts of your automated TestCafe tests including timesynced JavaScript Console and Network logs
Install the package
npm install testcafe-bugreplay --save-devor if you prefer to use yarn
yarn add testcafe-bugreplay --devYou will need to sign up for an account at https://bugreplay.com. After that you will need to login and get an API key by clicking the Hamburger Menu, click My Settings, and then Show API Key. You'll use this in the configuration file.
In .testcaferc.json you'll need to tell Chrome to use the BugReplay Automation extension:
// .testcaferc.json
{
"browsers": {
"path": "/path/to/google-chrome",
"cmd": "--no-first-run --no-default-browser-check --user-data-dir=/tmp/testcafe-chrome-profile --load-extension=./node_modules/bugreplay-automation/extension/ --auto-select-desktop-capture-source='Chrome'"
}
}After setting up this configuration you can have BugReplay record a fixture of tests by importing bugReplay and wrapping your fixture around this function and supplying an API key. For instance:
// test.js
import bugReplay from 'testcafe-bugreplay'
bugReplay(
fixture `Getting Started`
.page `http://devexpress.github.io/testcafe/example`,
{ apiKey: "YOUR API KEY GOES HERE"}
)
// ... your tests go hereAll tests in this file would be recorded to BugReplay.
You can run the test directly by running the following in your terminal:
npx testcafe path/to/testsInside of package.json add the following to the scripts object:
"scripts": {
"test:testcafe": "testcafe path/to/tests"
}You can name the script anything you'd like, it does not have to be test:testcafe.
Then in your command line run:
npm run test:testcafeor
yarn test:testcafeYou may be presented with a window, to select a screen to capture, during your test run, something like this:

If you see the above screen during your test run, please check the file: .testcaferc.json and check the flag: --auto-select-desktop-capture-source='Entire screen'
Here are few options you can try:
-
In case you have an extended display connected, you can choose "Screen 1" or "Screen 2" depending on where your cypress test runner is running:
--auto-select-desktop-capture-source='Screen 1' //or Screen 2 -
You can also provide the title of the browser window which testcafe launches while executing your tests.
--auto-select-desktop-capture-source='<CHROME_WINDOW_TITLE>' //Check the share screen popup and look for the title of the window where your testcafe tests is running.
This currently only works for Chrome. We're looking to expand to other browsers in the future.
