Protractor rules for Bazel

The Protractor rules run tests under the Protractor framework with Bazel.

Installation

Add the @bazel/protractor npm package to your devDependencies in package.json.

Known issues with running Chromium for macOS/Windows in Bazel

For macOS and Windows, Chromium comes with files that contain spaces in their file names. This breaks runfile tree creation within Bazel due to a bug. There are various workarounds that allow for Chromium on these platforms:

  • Instruct Bazel to automatically disable runfile tree creation if not needed. More details here
  • Instruct Bazel to use an alternative experimental approach for creating runfile trees. More details here

protractor_web_test

USAGE

Runs a protractor test in a browser.

PARAMETERS

The name of the test

Protractor configuration file.

Defaults to None

A file with a node.js script to run once before all tests run. If the script exports a function which returns a promise, protractor will wait for the promise to resolve before beginning tests.

Defaults to None

JavaScript source files

Defaults to []

Other targets which produce JavaScript such as ts_library

Defaults to []

Runtime dependencies

Defaults to []

Optional server executable target

Defaults to None

Standard Bazel tags, this macro adds one for ibazel

Defaults to []

List of peer npm deps required by protractor_web_test

Defaults to ["@npm//@bazel/protractor", "@npm//protractor"]

A label providing the protractor entry point Default to :node_modules/protractor/bin/protractor.

Defaults to Label("@npm//:node_modules/protractor/bin/protractor")

passed through to protractor_web_test

protractor_web_test_suite

USAGE

Defines a test_suite of web_test targets that wrap a protractor_web_test target.

PARAMETERS

The base name of the test

A sequence of labels specifying the browsers to use.

Defaults to None

Data dependencies for the wrapper web_test targets.

Defaults to []

A list of test tag strings to use for the wrapped karma_web_test target.

Defaults to ["manual", "noci"]

Arguments for the wrapped karma_web_test target.