This ember-cli addon eases the construction of page objects on your acceptance and integration tests
JavaScript HTML
Latest commit 2042960 Jan 23, 2017 @san650 committed on GitHub Merge pull request #281 from san650/update-readme
Update install instructions and test commands
Permalink
Failed to load latest commit information.
addon Add `as` property Jan 20, 2017
blueprints Merge remote-tracking branch 'origin/component-blueprint' into compon… Jan 13, 2017
config add node-tests to CI Jan 11, 2017
node-tests Merge pull request #277 from hidnasio/add-acceptance-tests Jan 20, 2017
test-support Add fullScope helper Nov 15, 2016
tests Add `as` property Jan 20, 2017
vendor Add base ember-cli project Apr 19, 2015
.bowerrc Add base ember-cli project Apr 19, 2015
.codeclimate.yml Address codeclimate issues and bug risks Dec 29, 2015
.csslintrc Add codeclimate configuration files Dec 29, 2015
.editorconfig Migrate to ember-cli@2.9.1 Nov 24, 2016
.ember-cli Add base ember-cli project Apr 19, 2015
.eslintignore Add codeclimate configuration files Dec 29, 2015
.eslintrc Add codeclimate configuration files Dec 29, 2015
.gitignore Migrate to ember-cli@2.9.1 Nov 24, 2016
.jscsrc Add ember-suave May 5, 2016
.jshintrc Migrate to ember-cli@2.9.1 Nov 24, 2016
.npmignore Ignore yarn.lock file Nov 13, 2016
.travis.yml Make node-test run first Jan 21, 2017
.watchmanconfig Update to ember-cli@1.13.12 Nov 29, 2015
AUTHORS Add renpinto to AUTHORS Nov 23, 2016
CHANGELOG.md Point to github in release notes Nov 23, 2016
LICENSE Update copyright Jan 3, 2016
README.md Update install instructions and test commands Jan 21, 2017
bower.json Migrate to ember-cli@2.9.1 Nov 24, 2016
docs.js Write docs from properties Jan 20, 2017
ember-cli-build.js Migrate to ember-cli@2.9.1 Nov 24, 2016
index.js Add acceptance tests Jan 20, 2017
package.json Merge pull request #277 from hidnasio/add-acceptance-tests Jan 20, 2017
testem.js Update ember-cli to v2.4.2 Mar 22, 2016

README.md

Ember Page Objects

Build Status Ember Observer Score Latest version

Represent the screens of your web app as a series of objects. This ember-cli addon eases the construction of these objects for your acceptance and integration tests.

http://ember-cli-page-object.js.org/

What is a Page Object?

An excerpt from the Selenium Wiki

Within your web app's UI there are areas that your tests interact with. A Page Object simply models these as objects within the test code. This reduces the amount of duplicated code and means that if the UI changes, the fix need only be applied in one place.

The pattern was first introduced by the Selenium

You can find more information about this design pattern here:

Community

Let's work together to improve this addon!

You can find us on the official Slack, join the ec-page-object channel or open an issue on Github to request features, report bugs or just to ask any question.

Installation

$ ember install ember-cli-page-object

Or you can install the NPM package directly.

$ npm install --save-dev ember-cli-page-object

Documentation

Check the site for full documentation.

Blueprints

The addon includes the following blueprints

  • page-object Creates a new page object
  • page-object-component Creates a new component to be used in a page object
  • page-object-helper Creates a new helper to be used in a page object
  • component-test Creates a new optimized component test with a matching page object component when used with the --page-object flag

You can create a new page object called users using the generate command

$ ember generate page-object users

installing
  create tests/pages/users.js

To create a new component with an integration test based on a page object component just add the --page-object flag to your generate command:

$ ember g component my-component --page-object
installing component
  create app/components/my-component.js
  create app/templates/components/my-component.hbs
installing component-test
  create tests/integration/components/my-component-test.js
installing page-object-component
  create tests/pages/components/my-component.js

It creates the component itself, a page object component with the same name to run your assertions against, and a special component integration test that contains all the necessary setup code to run your tests.

Development

Installation

$ git clone https://github.com/san650/ember-cli-page-object.git
$ cd $_
$ yarn install # or npm install
$ bower install

Running Tests

$ npm test # runs tests against multiple Ember versions and runs node tests
$ ember test --server # for development

Project's health

Build Status Ember Observer Score Dependency Status devDependency Status Codacy Badge Code Climate

Maintainers

  • Santiago Ferreira (@san650)
  • Juan Manuel Azambuja (@juanazam)
  • Jerad Gallinger (@jeradg)

License

ember-cli-page-object is licensed under the MIT license.

See LICENSE for the full license text.