wd upgrade, updated node touch action api

This commit is contained in:
sebv
2014-06-10 12:49:31 +08:00
parent 7d94b0e8aa
commit dfae412481
9 changed files with 203 additions and 79 deletions
+3
View File
@@ -10,6 +10,7 @@
mocha sample-code/examples/node/ios-simple.js
mocha sample-code/examples/node/ios-complex.js
mocha sample-code/examples/node/ios-webview.js
mocha sample-code/examples/node/ios-actions.js
mocha sample-code/examples/node/ios-local-server.js
```
### dev (run against locally built app)
@@ -20,6 +21,7 @@ mocha sample-code/examples/node/ios-local-server.js
DEV=1 mocha sample-code/examples/node/ios-simple.js
DEV=1 mocha sample-code/examples/node/ios-complex.js
DEV=1 mocha sample-code/examples/node/ios-webview.js
DEV=1 mocha sample-code/examples/node/ios-actions.js
DEV=1 mocha sample-code/examples/node/ios-local-server.js
```
@@ -33,6 +35,7 @@ export SAUCE_ACCESS_KEY=<SAUCE_ACCESS_KEY>
SAUCE=1 mocha sample-code/examples/node/ios-simple.js
SAUCE=1 mocha sample-code/examples/node/ios-complex.js
SAUCE=1 mocha sample-code/examples/node/ios-webview.js
SAUCE=1 mocha sample-code/examples/node/ios-actions.js
```
### Sauce Labs + Sauce Connect
+1 -1
View File
@@ -186,7 +186,7 @@ describe("android complex", function () {
.release();
var ma = new wd.MultiAction().add(a1, a2, smile);
return driver.performMultiTouch(ma)
return driver.performMultiAction(ma)
// so you can see it
.sleep(10000)
.back().sleep(1000)
+1 -1
View File
@@ -9,5 +9,5 @@ exports.swipe = function (opts) {
.wait(opts.duration)
.moveTo({x: opts.endX, y: opts.endY})
.release();
return this.performTouch(action);
return this.performTouchAction(action);
};
+112
View File
@@ -0,0 +1,112 @@
"use strict";
require("./helpers/setup");
var wd = require("wd"),
_ = require('underscore'),
actions = require("./helpers/actions"),
serverConfigs = require('./helpers/appium-servers');
wd.addPromiseChainMethod('swipe', actions.swipe);
describe("ios actions", 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 - actions';
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';
});
it("should execute a simple action", function () {
return driver.chain()
.elementByAccessibilityId('ComputeSumButton')
.then(function (el) {
var action = new wd.TouchAction(driver);
action
.tap({el: el, x: 10, y: 10})
.release();
return driver.performTouchAction(action);
})
.elementByAccessibilityId('ComputeSumButton')
.then(function (el) {
var action = new wd.TouchAction(driver);
action
.tap({el: el, x: 10, y: 10})
.release();
return action.perform();
});
});
it("should execute a multi action", function () {
return driver.chain()
.then(function () {
return driver
.elementByAccessibilityId('ComputeSumButton')
.then(function (el) {
var a1 = new wd.TouchAction();
a1
.tap({el: el, x: 10, y: 10});
var a2 = new wd.TouchAction();
a2
.tap({el: el});
var m = new wd.MultiAction();
m.add(a1, a2);
return driver.performMultiAction(m);
});
})
.then(function () {
return driver
.elementByAccessibilityId('ComputeSumButton')
.then(function (el) {
var a1 = new wd.TouchAction();
a1
.tap({el: el, x: 10, y: 10});
var a2 = new wd.TouchAction();
a2
.tap({el: el});
var m = new wd.MultiAction(driver);
m.add(a1, a2);
return m.perform();
});
});
});
it("should swipe", function () {
return driver
.waitForElementByName('Test Gesture', 5000).click()
.sleep(1000)
.elementByName('OK').click()
.sleep(1000)
.elementByXPath('//UIAMapView').getLocation()
.then(function (loc) {
return driver.swipe({ startX: loc.x, startY: loc.y,
endX: 0.5, endY: loc.y, duration: 800 });
});
});
});
-15
View File
@@ -5,11 +5,8 @@ require("./helpers/setup");
var wd = require("wd"),
_ = require('underscore'),
Q = require('q'),
actions = require("./helpers/actions"),
serverConfigs = require('./helpers/appium-servers');
wd.addPromiseChainMethod('swipe', actions.swipe);
describe("ios simple", function () {
this.timeout(300000);
var driver;
@@ -69,16 +66,4 @@ describe("ios simple", function () {
});
});
it("should swipe", function () {
return driver
.waitForElementByName('Test Gesture', 5000).click()
.sleep(1000)
.elementByName('OK').click()
.sleep(1000)
.elementByXPath('//UIAMapView').getLocation()
.then(function (loc) {
return driver.swipe({ startX: loc.x, startY: loc.y,
endX: 0.5, endY: loc.y, duration: 800 });
});
});
});