nodejs rules 0.34.0 now includes protractor_web_test_suite rule (via new @bazel/protractor rule) so we switch to that location for that rule in this PR so that /packages/bazel/src/protractor can be removed in a future PR this PR also brings in node toolchain support which was released in nodejs rules 0.33.0. this is a prerequisite for RBE for mac & windows users bazel schematics also updated with the same. @bazel/bazel 0.28.1 npm package includes transitive dep on hide-bazel-files so we're able to remove an explicit dep on that as well. PR Close #31824
24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
// The function exported from this file is used by the protractor_web_test_suite.
|
|
// It is passed to the `onPrepare` configuration setting in protractor and executed
|
|
// before running tests.
|
|
//
|
|
// If the function returns a promise, as it does here, protractor will wait
|
|
// for the promise to resolve before running tests.
|
|
|
|
const protractorUtils = require('@bazel/protractor/protractor-utils');
|
|
const protractor = require('protractor');
|
|
|
|
module.exports = function(config) {
|
|
// In this example, `@bazel/protractor/protractor-utils` is used to run
|
|
// the server. protractorUtils.runServer() runs the server on a randomly
|
|
// selected port (given a port flag to pass to the server as an argument).
|
|
// The port used is returned in serverSpec and the protractor serverUrl
|
|
// is the configured.
|
|
const portFlag = /prodserver(\.exe)?$/.test(config.server) ? '-p' : '-port';
|
|
return protractorUtils.runServer(config.workspace, config.server, portFlag, [])
|
|
.then(serverSpec => {
|
|
const serverUrl = `http://localhost:${serverSpec.port}`;
|
|
protractor.browser.baseUrl = serverUrl;
|
|
});
|
|
};
|