wd-sync
A synchronous version with a nice api of wd, the lightweight WebDriver / Selenium2 client for node.js, built using node-fibers.
Note: headless zombie was removed in 1.1.0
status
install
npm install wd-sync
code samples
CoffeeScript
# assumes that selenium server is running wdSync = require 'wd-sync' # 1/ simple Wd example wdSyncremote sync -> consolelog "server status:"@status @init browserName:'firefox' consolelog "session id:"@getSessionId consolelog "session capabilities:"@sessionCapabilities @get "http://google.com" consolelog @title queryField = @elementByName 'q' @type queryField"Hello World" @type queryField"\n" @setWaitTimeout 3000 @elementByCss '#ires' # waiting for new page to load consolelog @title consolelog @elementByNameIfExists 'not_exists' # undefined @quit
JavaScript
// assumes that selenium server is running var wdSync = ; // 1/ simple Wd example var client = wdSync browser = clientbrowser sync = clientsync; ;
doc
Note: Doc and README modifications must be done in the doc/template directory.
examples
api
available environments
WebDriver
local WebDriver / Selenium2 server
Sauce Labs
Remote testing with Sauce Labs.
running tests
local / selenium server:
1/ Install and start Selenium server
./node_modules/.bin/install_selenium
./node_modules/.bin/install_chromedriver
./node_modules/.bin/start_selenium_with_chromedriver
2/ run tests
make test
remote / Sauce Labs
1/ configure sauce environment
export SAUCE_USERNAME=<SAUCE_USERNAME>
export SAUCE_ACCESS_KEY=<SAUCE_ACCESS_KEY>
# if using sauce connect
./node_modules/.bin/install_sauce_connect
./node_modules/.bin/start_sauce_connect
2/ run tests
make test_e2e_sauce
make test_midway_sauce_connect
building doc/mapping
README + doc
1/ Update the templates
2/ run make build_doc
mappings
1/ Upgrade wd
2/ run make build_mapping
publishing
npm version [patch|minor|major]
git push --tags origin master
npm publish