mirror of
https://github.com/appium/appium.git
synced 2026-02-08 10:38:58 -06:00
73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
"use strict";
|
|
|
|
/*
|
|
run:
|
|
node local-android-wd-contacts.js
|
|
*/
|
|
|
|
var wd = require("wd"),
|
|
path = require('path');
|
|
require('colors');
|
|
var chai = require("chai");
|
|
var chaiAsPromised = require("chai-as-promised");
|
|
chai.use(chaiAsPromised);
|
|
chai.should();
|
|
var Q = require('q');
|
|
|
|
var desired = {
|
|
'appium-version': '1.0',
|
|
platformName: 'Android',
|
|
platformVersion: '4.3',
|
|
deviceName: 'Android Emulator',
|
|
"app": path.resolve(__dirname, '../..', 'apps/ContactManager/ContactManager.apk'),
|
|
"app-package": "com.android.contacts", // built-in contact app
|
|
"app-activity": "activities.PeopleActivity"
|
|
};
|
|
|
|
// Default is for very slow ARM emulator
|
|
var TIME_BASE_UNIT = parseInt(process.env.TIME_BASE_UNIT || 5000);
|
|
|
|
// Instantiate a new browser session
|
|
var browser = wd.promiseChainRemote("localhost", 4723);
|
|
|
|
// 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 () {
|
|
return browser
|
|
// add new contact
|
|
.elementByName("Add Contact")
|
|
.click()
|
|
.elementsByClassName("android.widget.EditText")
|
|
.then(function(elements){
|
|
return Q.all([
|
|
elements[0].type("some name")
|
|
.text()
|
|
.should.eventually.include('some'),
|
|
elements[2].type("Some@example.com")
|
|
.text()
|
|
.should.eventually.include('Some@example.com')
|
|
]);
|
|
//console.log(elements.length);
|
|
})
|
|
.elementByName("Save")
|
|
.click()
|
|
.fin(function () {
|
|
return browser
|
|
.sleep(TIME_BASE_UNIT) // waiting a bit before quitting
|
|
.quit();
|
|
});
|
|
})
|
|
.catch(function (err) {
|
|
console.log(err);
|
|
throw err;
|
|
})
|
|
.done();
|