Files
appium/sample-code/examples/node/ios-simple.js
2014-06-10 13:05:31 +08:00

70 lines
1.9 KiB
JavaScript

"use strict";
require("./helpers/setup");
var wd = require("wd"),
_ = require('underscore'),
Q = require('q'),
serverConfigs = require('./helpers/appium-servers');
describe("ios simple", function () {
this.timeout(300000);
var driver;
var allPassed = true;
before(function () {
var serverConfig = process.env.SAUCE ?
serverConfigs.sauce : serverConfigs.local;
driver = wd.promiseChainRemote(serverConfig);
require("./helpers/logging").configure(driver);
var desired = _.clone(require("./helpers/caps").ios71);
desired.app = require("./helpers/apps").iosTestApp;
if (process.env.SAUCE) {
desired.name = 'ios - simple';
desired.tags = ['sample'];
}
return driver.init(desired);
});
after(function () {
return driver
.quit()
.finally(function () {
if (process.env.SAUCE) {
return driver.sauceJobStatus(allPassed);
}
});
});
afterEach(function () {
allPassed = allPassed && this.currentTest.state === 'passed';
});
function populate() {
var seq = _(['IntegerA', 'IntegerB']).map(function (name) {
return function (sum) {
return driver.waitForElementByName(name, 3000).then(function (el) {
var x = _.random(0,10);
sum += x;
return el.type('' + x).then(function () { return sum; })
.elementByName('Done').click().sleep(1000); // dismissing keyboard
}).then(function () { return sum; });
};
});
return seq.reduce(Q.when, new Q(0));
}
it("should compute the sum", function () {
return driver
.resolve(populate()).then(function (sum) {
return driver.
elementByAccessibilityId('ComputeSumButton')
.click().sleep(1000)
.elementByIosUIAutomation('elements().withName("Answer");')
.text().should.become("" + sum);
});
});
});