"use strict"; require("./helpers/setup"); var wd = require("wd"), _ = require('underscore'), serverConfigs = require('./helpers/appium-servers'); describe("android 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 = process.env.SAUCE ? _.clone(require("./helpers/caps").android18) : _.clone(require("./helpers/caps").android19); desired.app = require("./helpers/apps").androidApiDemos; if (process.env.SAUCE) { desired.name = 'android - simple'; desired.tags = ['sample']; } return driver .init(desired) .setImplicitWaitTimeout(3000); }); 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 find an element", function () { return driver .elementByAccessibilityId('Graphics') .click() .elementByAccessibilityId('Arcs') .should.eventually.exist .back() .elementByName('App') .should.eventually.exist .elementsByAndroidUIAutomator('new UiSelector().clickable(true)') .should.eventually.have.length(12) .elementsByAndroidUIAutomator('new UiSelector().enabled(true)') .should.eventually.have.length.above(20) .elementByXPath('//android.widget.TextView[@text=\'API Demos\']') .should.exists; }); });