Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Running protractor tests on codeship #testing #browser #selenium
exports.config = {
// The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',
// Capabilities to be passed to the webdriver instance.
capabilities: {
// 'browserName': 'internet explorer', - special installation needed
// 'version':'10',
'browserName': 'chrome',
//'browserName': 'firefox'
},
baseUrl:'http://127.0.0.1:8080',
// Spec patterns are relative to the current working directly when
// protractor is called.
specs: ['test/protractor/protractor.js'],
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
}
};
# -------------------------------------------
# 1. HTML website separate from API
# 2. HTML website is static HTML
# 3. API is mocked
# -------------------------------------------
# Install simple http server and protractor
npm install -g http-server protractor
# Download and install selenium webdrivers
webdriver-manager update
# Run web driver in background, keeping in mind it takes a few seconds to become responsive
nohup bash -c "webdriver-manager start 2>&1 &" && sleep 9
# Run local website, my website is contained within the ./app folder
http-server app > /dev/null &
# Run protractor tests
protractor protractor.conf.js
@hugorodrigues
Copy link

hugorodrigues commented Nov 21, 2014

+1

@bahout
Copy link

bahout commented Jan 12, 2015

How did you install 'internet explorer' browser on codeship?

@keithharvey
Copy link

keithharvey commented Mar 4, 2015

@sergiovilar This definitely worked for me. Saw your error but was forgetting to run 'bower install' in the setup.

Copy link

ghost commented Mar 20, 2015

Hi, the config is working but all tests are failing in Codeship while on local env they're correct.

@ioanabote
Copy link

ioanabote commented May 21, 2015

Hi, I also have the config working, the baseUrl is accessed successfully (I'm doing a print screen, and the main page is loaded correctly) but the first API request that I make fails with 405 Method not allowed (this being the login request all other tests fail). All tests are running fine on my local environment. I have a rails app with angularjs. Any thoughts why the API would return 405 only on Codeship?

@pdsullivan
Copy link

pdsullivan commented Nov 18, 2015

This was working for me for a while but all the sudden i started getting an error on the test step. Not really sure what changed. Is anybody else having an issue?

[launcher] Process exited with error code 1

/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/q/q.js:126
throw e;
^
SyntaxError: Unexpected token )
at goog.loadModuleFromSource_ (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1123:19)
at Object.goog.loadModule (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1085:46)
at /home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1:6
at Object.Context.closure.goog.retrieveAndExecModule_ (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/_base.js:135:8)
at <anonymous>:1:6
at Context.closure.closure.vm.createContext.CLOSURE_IMPORT_SCRIPT (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/_base.js:104:12)
at Object.goog.importScript_ (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:879:9)
at Object.goog.importModule_ (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:900:14)
at Object.goog.writeScripts_ (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1323:16)
at Object.goog.require (/home/rof/.nvm/v0.10.40/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:663:14)

@bondarewicz
Copy link

bondarewicz commented Nov 27, 2015

same as @pdsullivan here, even when using sause labs server instead of localhost...

@bondarewicz
Copy link

bondarewicz commented Nov 27, 2015

just found that there is BREAKING CHANGE: 1) Users will no longer be able to use node versions <4. 2
http://stackoverflow.com/a/33835026/1109957,

just updated node to 4.2.1 via nvm install 4.2.1 and all working again.
https://codeship.com/documentation/languages/nodejs/

@awhit012
Copy link

awhit012 commented Nov 21, 2016

For those of you running a Rails app, substitute this line:

# Run local website, my website is contained within the ./app folder

http-server app > /dev/null &

with this:
nohup bash -c "rails s &"

This will start the rails server in the background and continue to the next task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment