cli-tool to automate Appium tests suite for Cordova apps
#Install
npm install -g cordova-test
#Usage Inside your cordova application folder
cordova-test <platform> <relative_path_to_tests_dir_or_file>
[--no-compile]
[--babel use babel transpiler]
[--teamcity use mocha-teamcity-reporter]
[--device iOS build for device/emulator]
[--env environment files_regex]
[--sauce user accessKey]
[--udid ios_udid]
[--device-name device name]
[--platform-version platform version]
#Environment
As default cordova-test
will run the tests with mocha, but it can also be integrated to run with any other environment you want by setting the --env
param.
For ex.:
$ cordova-test android tests/tape --env tape *.js
$ cordova-test android tests/python --env python *.py
#Example As an example we create a simple Hello World app with cordova,
cordova create example com.urucas.testexample TestExample
cordova platform add android
and add a few elements to the index.html
Now, we create 2 appium tests to run with mocha, the first one will check that some elements on the index.html are displayed, and the second test will click on a button and check a text is changed.
Inside our cordova project root folder run
cordova-test android tests/mocha
and wait for the tests result.
Thats all!
cordova-test will compile the cordova app, verify the requested environment, create the test capabilities and run all the tests.
#Integrate with Sauce Labs Set your Sauce Labs user and access key to run the tests suite in Sauce Labs mobile devices.
For ex.
$ cordova-test android tests/mocha --sauce SAUCE_USER SAUCE_ACCESSKEY
Before running the tests, cordova-test
will upload the compiled app to Sauce Labs Storage, and update the platform capabilities.
#Requirements
Local testing
iOS
- xcode command-line tools
Babel
- To use the babel transpiler and es2015 in your tests you need to install these dependencies in your Cordova project:
npm i --save-dev babel-core babel-plugin-transform-async-to-generator babel-polyfill babel-preset-es2015
- .babel.rc config:
{
"presets": ["react", "es2015"],
"plugins": ["transform-async-to-generator"]
}
Team City
- Use the
--teamcity
flag to activate themocha-teamcity-reporter
. Install the dependency in the target project before using the flag:
npm i mocha-teamcity-reporter --save-dev