Nefariously Pushing Master

    teatime-test-utils

    0.13.0 • Public • Published

    teatime-test-utils

    Collection of implemented Page objects for the Teatime Components. Designed to be used in automatic tests with WebDriverIO bindings.

    Table of contents

    Usage

    Usually, interaction with the web-interfaces results in getting or setting some state of its elements. In order to implement these actions using WebDriver bindings, you require locators for the elements and certain commands.

    Locators provide you possibility to identify an element in the content of the web application. Usually, it is a CSS selector. Teatime Test Utils contains all the necessary CSS selectors for interaction with Teatime Components. You may find them at pageObject folder. Since Teatime Components use CSS Modules, it guarantees that all the CSS selectors will be unique. Simple examples should look like this:

    example of the action-button click in the interface

    const Button = require('teatime-test-utils/pageObject/Button');
     
    it('should click the button', () => {
      browser.click(Button.action);
      // assert it was clicked
    });

    In order to make more complex interactions like setting the inputs value or choosing particular option in the selects menu, Teatime Test Utils provide you functions getValue and setValue. Unlike WebDriverIOs same commands, these contain information about inner implementation of Teatime Components. To use them, you should provide attribute name selector like in the example below:

    example of setting inputs value

    const {getValue, setValue} = require('teatime-test-utils');
     
    it('should set input value', () => {
      setValue()('[name="username"]', 'Alexey');
      // assert it was setted
    });

    Setup

    Use of Teatime Test Utils requires compilation of your code.

    In the first place, you should add a posibility to threat your CSS files as a commonJS modules. Keep in mind that CSS tokens in tests should be generated in the same way as in the tested web application.

    Addtionaly, I suggest you to compile the code of your tests with babel-preset-power-assert in order to receive detailed information in the error-reports.

    Extensibility

    Should mention about tool/index.js. Coming soon.

    Useful links

    License

    The MIT License

    Keywords

    none

    Install

    npm i teatime-test-utils

    DownloadsWeekly Downloads

    14

    Version

    0.13.0

    License

    MIT

    Last publish

    Collaborators

    • sullenor