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.

protractor_web_test

USAGE

protractor_web_test(name, configuration, on_prepare, srcs, deps, data, server, tags, peer_deps,
                    protractor_entry_point, kwargs)

Runs a protractor test in a browser.

PARAMETERS

name

The name of the test

configuration

Protractor configuration file.

Defaults to None

on_prepare

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

srcs

JavaScript source files

Defaults to []

deps

Other targets which produce JavaScript such as ts_library

Defaults to []

data

Runtime dependencies

Defaults to []

server

Optional server executable target

Defaults to None

tags

Standard Bazel tags, this macro adds one for ibazel

Defaults to []

peer_deps

List of peer npm deps required by protractor_web_test

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

protractor_entry_point

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

Defaults to "@npm//:node_modules/protractor/bin/protractor"

kwargs

passed through to protractor_web_test

protractor_web_test_suite

USAGE

protractor_web_test_suite(name, browsers, web_test_data, wrapped_test_tags, kwargs)

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

PARAMETERS

name

The base name of the test

browsers

A sequence of labels specifying the browsers to use.

Defaults to None

web_test_data

Data dependencies for the wrapper web_test targets.

Defaults to []

wrapped_test_tags

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

Defaults to ["manual", "noci"]

kwargs

Arguments for the wrapped karma_web_test target.