Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
protractor-ci
Advanced tools
This project is alpha status. Use at your own risk.
npm install protractor-ci --save-dev
Run E2E tests against locally against live dev API This step records all external API requests for later playback.
Verify test playback Uses the recorded mock requests from step 1.
Run E2E tests against Sauce Labs Uses the recorded mock requests from step 1.
Run E2E tests on Travis CI on deployment Uses the recorded mock requests from step 1.
Define the task:
var pXor = require('protractor-ci');
gulp.task('test:e2e:record', function(cb) {
var opts = {
nodeApp: 'test/app.js',
nodeHost: 'localhost',
nodePort: 7777,
record: true,
mockFile: 'mocks/nock-mocks.json',
specs: [
'test/e2e/*.coffee'
]
};
pXor.e2e.testE2E(opts).then(function() { cb(); });
});
Run the task:
gulp test:e2e:record
Define the task:
var pXor = require('protractor-ci');
gulp.task('test:e2e:playback', function(cb) {
var opts = {
nodeApp: 'test/app.js',
nodeHost: 'localhost',
nodePort: 7777,
playback: true,
mockFile: 'mocks/nock-mocks.json',
specs: [
'test/e2e/*.coffee'
]
};
pXor.e2e.testE2E(opts).then(function() { cb(); });
});
Run the task:
gulp test:e2e:playback
var pXor = require('protractor-ci');
// define task to start sauce connect
gulp.task('start-sauce-connect', function(cb) {
pXor.e2e.startSauceConnect().then(function() { cb(); });
});
// define test runner
gulp.task('test:e2e:ci', function(cb) {
var opts = {
nodeApp: 'test/app.js',
nodeHost: 'localhost',
nodePort: 7777,
playback: true,
mockFile: 'mocks/nock-mocks.json',
specs: [
'test/e2e/*.coffee'
],
browsers: [{
browserName: 'chrome',
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'firefox',
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'safari',
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'internet explorer',
version: 11,
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'internet explorer',
version: 10,
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'internet explorer',
version: 9,
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}, {
browserName: 'internet explorer',
version: 8,
build: process.env.TRAVIS_BUILD_NUMBER,
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER
}]
};
pXor.e2e.testE2E(opts).then(function() { cb() });
});
Now open two terminal windows.
In the first terminal:
gulp start-sauce-connect
Leave the terminal open. The task will let you know when it's ready to start the tests.
In the second terminal:
gulp test:e2e:ci
First follow these instructions.
Next, make sure the before_install
and addons
blocks exist in your .travis.yml
file:
language: node_js
node_js:
- 'x.xx'
env:
global:
- secure: xxx
- secure: yyy
- NODE_ENV=travis
addons:
sauce_connect: true
cache:
directories:
- node_modules
before_install:
- npm install
- node_modules/.bin/bower install --config.directory=path/to/test/server
The goal is to ensure that the dev server has everything it needs to be run by Travis. More steps may be required depending on your application.
Then, in your package.json
file:
{
// ...
"scripts": {
"test": "gulp test:e2e:ci"
},
// ...
}
FAQs
Easily run protactor using Travis CI and Sauce Labs.
We found that protractor-ci demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.