0.4.0 • Published 3 years ago

@fiit/testcaffeine v0.4.0

Weekly downloads
88
License
MIT
Repository
github
Last release
3 years ago

Testcaffeine

Wrapper for Testcafe framework.

This framework wraps testcafe and testcafe-react-selectors packages and exposes their methods that we use across the tests.

It also exposes custom actions which are wrappers for most of the default Testcafe actions.

Usage

yarn add -D '@fiit/testcaffeine'

  • peer dependency: '@fiit/babel-preset-fiit'
  • dependencies: 'testcafe', 'testcafe-react-selectors'

API

The list of all functions exported by this package can be found in index.js file.

There's no default export so you always have to explicitly provide what you want to import.

Actions

Actions should be used in page objects and *test.js files

import { Type, Click, Check } from '@fiit/testcaffeine';

describe(...);

test('Login', async () => {
  Type.into(LoginPage.email, 'test@fiit.tv');
  Type.into(LoginPage.password, 'password');
  Click.on(LoginPage.loginButton);

  Check.isVisible(HomePage.title);
});

Testcafe functions

Default Testcafe functions should be used in page objects and helpers/utils files.

import { t, ClientFunction, Selector, ReactSelector } from '@fiit/testcaffeine';

Test runner

Tets runner should be used in a node script to runs the tests.

const { runUITests } = require('@fiit/testcaffeine');

const browsers = ['chrome', 'safari'];
const paths = ['ui-tests/*test.js'];
// All run options available here: https://devexpress.github.io/testcafe/documentation/using-testcafe/programming-interface/runner.html#run
const runOptions = {
  quarantineMode: true,
  stopOnFirstFail: true,
};

runUITests(browsers, paths, runOptions);

Constants

Exports generic constants reused across tests.

import { constants } from '@fiit/testcaffeine';

constants.SELECTOR_TIMEOUT_MS; // 10000ms

Development

If you create a PR, please include Dawid Dylowicz (@dawiddylowicz) as a reviewer.

  • make init - required to setup NPM_TOKEN locally for docker builds
  • make build - to build on docker container
  • yarn test:ui runs UI tests using headless Chrome by default.
0.4.0

3 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago