cabbie
cabbie copied to clipboard
Cabbie and kommando
Just wanted to let you know that I've integrated cabbie into a project called kommando today (https://github.com/uxebu/kommando/commit/ecf44a09de9713827e26feea27546eb95080c548) and cabbie makes writing / reading selenium tests much easier than any other (async) webdriver libraries I've used before. You can find the same selenium tests written with different webdriver libraries here.
kommando is meant to take over the tedious task to download / launch / configure the various webdriver servers that are out there and executing selenium tests against those servers with a test framework you prefer to use.
I see a lot of potential that both projects could benefit from each other and I currently have the following questions:
- how much of the JSONWireProtocol is currently supported and what API support do you target initially?
- which test-runner / assertion framework do you plan to use on top of cabbie? Would like to know that, so that I can rethink the current choice (mocha, jasmine, chai) within kommando.
- would you be interested in bug reports in regards to the varying selenium server implementations? Found some small glitches when cabbie is used in conjuction with Ghostdriver. Seems the JSONWireProtocol spec is not 100% clear how the REST API should be written.
- do you see potential using kommando (I hope the current documentation in the README is sufficient to get a highlevel picture) or do you miss an important feature? Maybe you have other use-cases in mind that I did not think about.
If you would like to play with cabbie within kommando you can use the following test:
// cabbie-kommando-example.js
var assert = require('assert');
module.exports = function(callback) {
var browser = kommando.browser;
browser.navigateTo('https://github.com');
assert.equal(
browser.getElement('.heading').text(),
'Build software better, together.'
);
console.log('Found heading');
callback();
};
and execute that test using kommando (installable via npm install kommando
):
# execute test against phantomjs
kommando --client cabbie --runner plain cabbie-kommando-example.js
# execute test against chrome, firefox and phantomjs
kommando --browser chrome --browser firefox --browser phantomjs \
--client cabbie --runner plain cabbie-kommando-example.js
# execute test against chrome using chromedriver
kommando --browser chrome --driver chromedriver --client cabbie \
--runner plain cabbie-kommando-example.js