mirror of
https://github.com/appium/appium.git
synced 2026-01-15 06:39:54 -06:00
68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
/*global it:true */
|
|
|
|
/* EXAMPLE APPIUM + SAUCE LABS INTEGRATION PLUS SAUCE CONNECT
|
|
First: npm install mocha -g && npm install wd && npm install node-static
|
|
Second: make sure Sauce Connect is running
|
|
Usage: SAUCE_USERNAME=xxx SAUCE_ACCESS_KEY=yyy mocha -t 60000 sauce-connect.js */
|
|
|
|
"use strict";
|
|
|
|
var should = require("should")
|
|
, staticServer = require('node-static')
|
|
, path = require("path")
|
|
, http = require('http')
|
|
, connectUrl = 'http://localhost:8080/TestApp6.0.app.zip'
|
|
, dbPath = "../../../test/helpers/driverblock.js"
|
|
, assetDir = path.resolve(__dirname, "../../../assets")
|
|
, fileServer = new staticServer.Server(assetDir)
|
|
, describeSauce = require(dbPath).describeForSauce(connectUrl);
|
|
|
|
// create a local server to host our app
|
|
var server = http.createServer(function(req, res) {
|
|
req.addListener('end', function() {
|
|
fileServer.serve(req, res);
|
|
});
|
|
}).listen(8080);
|
|
|
|
// run the tests, having sauce first download the app from our local server
|
|
describeSauce('calc app', function(h) {
|
|
var values = [];
|
|
var populate = function(driver, cb) {
|
|
driver.elementsByTagName('textField', function(err, elems) {
|
|
should.not.exist(err);
|
|
var next = function(num) {
|
|
if (num >= elems.length) {
|
|
return cb(elems);
|
|
}
|
|
var val = Math.round(Math.random()*10);
|
|
values.push(val);
|
|
var elem = elems[num++];
|
|
elem.sendKeys(val, function() {
|
|
next(num);
|
|
});
|
|
};
|
|
next(0);
|
|
});
|
|
};
|
|
|
|
return it('should fill two fields with numbers', function(done) {
|
|
var driver = h.driver;
|
|
populate(driver, function() {
|
|
driver.elementsByTagName('button', function(err, buttons) {
|
|
buttons[0].click(function() {
|
|
driver.elementsByTagName('staticText', function(err, elems) {
|
|
elems[0].text(function(err, text) {
|
|
var sum = values[0] + values[1];
|
|
sum.should.equal(parseInt(text, 10));
|
|
driver.quit(function() {
|
|
server.close();
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|
|
});
|