Git Product home page Git Product logo

ember-cli-page-object's Introduction

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 Coverage Status

Maintainers

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

License

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

See LICENSE for the full license text.

ember-cli-page-object's People

Contributors

san650 avatar juanazam avatar jeradg avatar simonihmig avatar lolmaus avatar hidnasio avatar drewchandler avatar yoranbrondsema avatar renpinto avatar vvscode avatar jmbejar avatar dfreeman avatar kagemusha avatar jelhan avatar dgroverwintac avatar rtablada avatar migbar avatar mixonic avatar onlymejosh avatar jakesjews avatar heroiceric avatar donovan-graham avatar acostami avatar bantic avatar csantero avatar backspace avatar magistrula avatar deepflame avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.