UNPKG

4.09 kBMarkdownView Raw
1# Ember CLI Page Object
2
3[![Build Status](https://travis-ci.org/san650/ember-cli-page-object.svg?branch=master)](https://travis-ci.org/san650/ember-cli-page-object)
4[![Ember Observer Score](http://emberobserver.com/badges/ember-cli-page-object.svg)](http://emberobserver.com/addons/ember-cli-page-object)
5![Latest version](https://img.shields.io/npm/v/ember-cli-page-object.svg)
6
7Represent 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.
8
9https://ember-cli-page-object.js.org/
10
11## What is a Page Object?
12
13An excerpt from the Selenium Wiki
14
15> Within your web app's UI there are areas that your tests interact with. A Page
16> Object simply models these as objects within the test code. This reduces the
17> amount of duplicated code and means that if the UI changes, the fix need only
18> be applied in one place.
19
20The pattern was first introduced by the Selenium
21
22You can find more information about this design pattern here:
23
24* [Page Objects - Selenium wiki](https://github.com/SeleniumHQ/selenium/wiki/PageObjects)
25* [PageObject - Martin Fowler](http://martinfowler.com/bliki/PageObject.html)
26
27Compatibility
28------------------------------------------------------------------------------
29
30* Ember.js v3.16 or above
31* Ember CLI v2.13 or above
32* Node.js v12 or above
33
34Let's work together to improve this addon!
35
36You can find us on the [official Ember Discord server](https://discord.gg/zT3asNS), or [open an issue on Github](https://github.com/san650/ember-cli-page-object/issues) to request features, report bugs or just to ask any question.
37
38Installation
39------------------------------------------------------------------------------
40
41```sh
42$ ember install ember-cli-page-object
43```
44
45Or you can install the NPM package directly.
46
47```sh
48$ npm install --save-dev ember-cli-page-object
49```
50
51Documentation
52------------------------------------------------------------------------------
53
54Check the [site](https://ember-cli-page-object.js.org/) for full documentation.
55
56Blueprints
57------------------------------------------------------------------------------
58
59The addon includes the following blueprints
60
61* `page-object` Creates a new page object
62* `page-object-component` Creates a new component to be used in a page object
63* `page-object-helper` Creates a new helper to be used in a page object
64
65You can create a new page object called `users` using the `generate` command
66
67```sh
68$ ember generate page-object users
69
70installing
71 create tests/pages/users.js
72```
73
74Contributing
75------------------------------------------------------------------------------
76
77See the [Contributing](CONTRIBUTING.md) guide for details.
78
79### Project's health
80
81[![Build Status](https://travis-ci.org/san650/ember-cli-page-object.svg?branch=master)](https://travis-ci.org/san650/ember-cli-page-object)
82[![Ember Observer Score](http://emberobserver.com/badges/ember-cli-page-object.svg)](http://emberobserver.com/addons/ember-cli-page-object)
83[![Dependency Status](https://david-dm.org/san650/ember-cli-page-object.svg)](https://david-dm.org/san650/ember-cli-page-object)
84[![devDependency Status](https://david-dm.org/san650/ember-cli-page-object/dev-status.svg)](https://david-dm.org/san650/ember-cli-page-object#info=devDependencies)
85[![Codacy Badge](https://api.codacy.com/project/badge/grade/35545e8e8ade48dfa999a3f5e1aa4b3b)](https://www.codacy.com/app/san650/ember-cli-page-object)
86[![Code Climate](https://codeclimate.com/github/san650/ember-cli-page-object/badges/gpa.svg)](https://codeclimate.com/github/san650/ember-cli-page-object)
87[![Coverage Status](https://coveralls.io/repos/github/san650/ember-cli-page-object/badge.svg?branch=master)](https://coveralls.io/github/san650/ember-cli-page-object?branch=master)
88
89### Maintainers
90
91- Santiago Ferreira (@san650)
92- Juan Manuel Azambuja (@juanazam)
93- Jerad Gallinger (@jeradg)
94- Anna Andresian (@magistrula)
95- Ruslan Grabovoy (@ro0gr)
96
97## License
98
99ember-cli-page-object is licensed under the MIT license.
100
101See [LICENSE](./LICENSE.md) for the full license text.