screen.object

Page Object Pattern for Appium and Mocha.

npm install screen.object
8 downloads in the last week
8 downloads in the last month

screen.object

Dependency Status NPM version

Page Object Pattern for Appium and Mocha.

Configuration

It can be a bit complicated to explain, so please take a look at the example (todo) to have a better idea of how to set everything up.

  • Add a file called drivers.settings.js to your project root and configure it based on this example:
module.exports = {
  screensDir      : 'test/screen',        // DEFAULT
  remote          : ['localhost', 4723 ], // DEFAULT

  // REQUIRED!
  capabilities    : {
    ios           : {
      device      : 'iPhone Simulator',
      app         : require('path').resolve(__dirname, 'build', 'my.app')
    }
  }
};
  • Create a directory to hold your screen objects under test/screen.
  • Require screen.object in your mocha options. If you are using mocha.opts you can just add --require screen.object to it.
  • Write your Mocha describes as the following example and you'll have the screens required from your screen directory.
describe('Home', withScreen('HomeScreen', function(screen) {
  ...
}));

Running the Appium server automatically

If you want screen.object to run the Appium server automatically, you can --require screen.object/appium in your mocha options. And just like mocha.opts you can specify a appium.opts under your test directory with the options you want your server to start with.

License

This is licensed under the feel-free-to-do-whatever-you-want-to-do license.

npm loves you