Files
appium/sample-code/examples/node/ios-wd-raw.js
2014-04-19 00:41:49 +08:00

92 lines
2.1 KiB
JavaScript

"use strict";
/*
LOCAL APPIUM:
node ios-wd-raw.js
APPIUM ON SAUCE LABS:
1/ Set your sauce credentials (SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables)
2/ SAUCE=1 node ios-wd-raw.js
*/
var wd = require("wd");
require('colors');
var chai = require("chai");
var chaiAsPromised = require("chai-as-promised");
chai.use(chaiAsPromised);
chai.should();
chaiAsPromised.transferPromiseness = wd.transferPromiseness;
var host, port, username, accessKey, desired;
if (process.env.SAUCE) {
// Sauce Labs config
host = "ondemand.saucelabs.com";
port = 80;
username = process.env.SAUCE_USERNAME;
accessKey = process.env.SAUCE_ACCESS_KEY;
desired = {
platform: 'ios',
version: '7.1',
device: 'iPhone Simulator',
deviceName: 'iPhone Retina (4-inch 64-bit)',
app: "http://appium.s3.amazonaws.com/TestApp6.0.app.zip",
name: "Appium: with WD Mocha",
'device-orientation': 'portrait',
};
} else {
// local config
host = "localhost";
port = 4723;
desired = {
device: 'iPhone Simulator',
name: "Appium: with WD",
platform: "Mac",
app: "http://appium.s3.amazonaws.com/TestApp6.0.app.zip",
// version: "6.0",
browserName: "",
newCommandTimeout: 60
};
}
// Instantiate a new browser session
var browser = wd.promiseChainRemote(host, port, username, accessKey);
// See whats going on
browser.on('status', function (info) {
console.log(info.cyan);
});
browser.on('command', function (meth, path, data) {
console.log(' > ' + meth.yellow, path.grey, data || '');
});
// Run the test
browser
.init(desired)
.then(function () {
browser
.elementsByTagName("textField").then(function (els) {
return els[0].type('2').then(function () {
return els[1].type('3');
});
})
.elementByTagName('button')
.click()
.elementByTagName('staticText')
.text().should.become("5")
.fin(function () {
return browser
.sleep(3000)
.quit();
});
})
.catch(function (err) {
console.log(err);
throw err;
})
.done();