Nefariously Pushing Master


    0.13.0 • Public • Published


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

    Table of contents


    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', () => {;
      // 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


    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.


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

    Useful links


    The MIT License




    npm i teatime-test-utils

    DownloadsWeekly Downloads






    Last publish


    • sullenor