mirror of
https://github.com/appium/appium.git
synced 2026-04-29 15:01:27 -05:00
wd upgrade, updated node touch action api
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
@@ -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 });
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -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 });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user