Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

latte-pageobject

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

latte-pageobject

Create your page objects with a fluid, creamy and delicious BDD-like API for browser automation.

  • 1.0.2
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

NPM version

Latte Page Object

A small library to allow creating your page objects with a fluid, creamy and delicious BDD-like API with the ability to add crunchy properties that adds special personal flavour to your page objects for browser automation tests.

Installation

npm install latte-pageobject --save

Usage

Your test could be implemented like the following example:

pageObject.on.childPageObject
     .and.on.grandChildPageObject
     .given.somePrecondition()
     .and.otherPrecondition()
     .(*)
     .when.userDoesSomething()
     .and.doesSomethingElse()
     .(*)
     .then.itShouldHaveHappenedAThing()
     .and.itShouldHaveHappenedAnotherThing()
     .(*)

To achieve such API, one can have the following API mold:

var api = {
     // The standard ingredients of the Latte PageObject
     on: {
         grandChildPageObject: grandChildPageObject
     },
     given: {
         somePrecondition: function () {
             createPrecondition();
             return this;
         },
         otherPrecondition: function () {
             createOtherPrecondition();
             return this;
         }
     },
     when: {
         userDoesSomething: function () {
             createPrecondition();
             return this;
         },
         doesSomethingElse: function () {
             createOtherPrecondition();
             return this;
         }
     },
     then: {
         itShouldHaveHappenedAThing: function () {
             createPrecondition();
             return this;
         },
         itShouldHaveHappenedAnotherThing: function () {
             createOtherPrecondition();
             return this;
         }
     },
     
     // The `crunchy` parts of the API, where you can add getters, or any other flavour to your Latte. But like any other hot, creamy drink, you should be moderate adding this sprinkles to your drink
     
     getSomeMeaningValueFromMyPageObject: function () {
        return something;
     }
}
latte.makeIt(api, [parentPageObject, anotherParentPageObject]);

Tests

npm test

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

Release History

  • 1.0.1 Bug fixing
  • 1.0.0 Initial release

Keywords

FAQs

Package last updated on 09 Mar 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc