This plugin requires Grunt.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-mocha-appium --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-mocha-appium');
The "mochaAppium" task will use the Appium test automation framework to provide a selenium bridge to native and hybrid applications. Tests are written using mocha
Appium needs to be installed separately. See their getting started guide for information on installing and configuring Appium on you system. You don't need to start an Appium server before running this task, you just need to have it installed.
In your project's Gruntfile, add a section named mochaAppium
to
the data object passed into grunt.initConfig()
.
grunt.initConfig({
mochaAppium: {
options: {
// Mocha options
reporter: 'spec',
timeout: 30e3,
// Toggles wd's promises API, default:false
usePromises: false
// Path to appium executable, default:'appium'
appiumPath: 'appium'
},
iphone: {
src: ['test/*.js'],
options: {
// Appium Options
deviceName: 'iPhone Simulator',
platformName: 'iOS',
version: '6.1',
// A url of a zip file containg your .app package
// or
// A local absolute path to your simulator-compiled .app directory
app: 'http://appium.s3.amazonaws.com/TestApp6.0.app.zip'
}
}
}
});
All options are passed to Mocha and WD. See their documentation for everything you might want to configure.
The following options can be supplied to the task:
Type: Boolean
Default value: false
If enabled, this will use the promise-enabled wd browser API instead of the normal synchronous API.
Type: String
Default value: appium
If provided, this will be used as the location of the appium binary on your system. If you've installed appium with npm and appium is in your path you probably won't need to configure this.
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
MIT