Skip to content

BugReplay/testcafe-bugreplay

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

BugReplay TestCafe Integration

The BugReplay TestCafe integration records screencasts of your automated TestCafe tests including timesynced JavaScript Console and Network logs

Installation

Install the package

npm install testcafe-bugreplay --save-dev

or if you prefer to use yarn

yarn add testcafe-bugreplay --dev

Configuration

Getting an API key

You 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.

getting an API key

Adding the BugReplay Integration

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 here

All tests in this file would be recorded to BugReplay.

Running the Test

Running from Command Line

You can run the test directly by running the following in your terminal:

npx testcafe path/to/tests

Setting up a script

Inside 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:testcafe

or

yarn test:testcafe

Note

You may be presented with a window, to select a screen to capture, during your test run, something like this: screen-capture

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.

Limitations

This currently only works for Chrome. We're looking to expand to other browsers in the future.

About

Integration to connect the popular TestCafe automated end to end testing framework with BugReplay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published