Ember Page Objects
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.
https://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:
Let's work together to improve this addon!
You can find us on the official Ember Discord server, 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 objectpage-object-component
Creates a new component to be used in a page objectpage-object-helper
Creates a new helper to be used in a page object
You can create a new page object called users
using the generate
command
$ ember generate page-object users
installing
create tests/pages/users.js
Development
Installation
$ git clone https://github.com/san650/ember-cli-page-object.git
$ cd $_
$ yarn install
Linting
npm run lint:hbs
npm run lint:js
npm run lint:js -- --fix
Running Tests
ember test
– Runs the test suite on the current Ember versionember test --server
– Runs the test suite in "watch mode"ember try:each
– Runs the test suite against multiple Ember versions
Project's health
Maintainers
- Santiago Ferreira (@san650)
- Juan Manuel Azambuja (@juanazam)
- Jerad Gallinger (@jeradg)
- Anna Andresian (@magistrula)
- Ruslan Grabovoy (@ro0gr)
License
ember-cli-page-object is licensed under the MIT license.
See LICENSE for the full license text.