npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

loadero-nightwatch-commands

v1.1.0

Published

Loadero custom commands that can be used when localy developing tests to use with Loadero

Downloads

6

Readme

loadero-nightwatch-commands npm

Installation

Installation is as simple as running the following npm command:

npm install --save loadero-nightwatch-commands

Make sure you run it in the directory where your package.json file is located. The command shown above will also add the dependency to your package.json file. It can also be added manually in dependencies object as loadero-nightwatch-commands.

The latest tag will always be the most up-to-date version when compared to the commands used in Loadero environment.

Usage

These Nightwatch custom commands were made to simplify local script development for usage in Loadero environment. By using these commands, you can write your Loadero script locally and then upload it to Loadero. This also allows for more rapid development because the script can be debugged and run locally.

To use the commands in your tests, you need to add this package as a plugin to your Nightwatch configuration file. For example, if your project has a nightwatch.conf.js file, you need to add the following line to it:

plugins: ["loadero-nightwatch-commands"]

After that, all you have to do then is run npm install after which you will be able to use the commands in your tests. For example:

client => {
    const reallyLongPause = 5 * 60 * 1000; // 5 minutes

    client
        // Example of timing execution without specifying a timeout.
        .url("https://duckduckgo.com/")
        .timeExecution("locate_search_bar", () => {
            client
                .waitForElementVisible("#searchbox_input", 10 * 1000)
                .sendKeys("#searchbox_input", "QA Processes")
                .click("[aria-label='Search']")
                .waitForElementVisible("#r1-0 > div > h2", 10 * 1000)
                .pause(reallyLongPause);
        })
        .takeScreenshot("screenshot.png");
}

NOTE: In place of client you should use the argument that describes the nightwatch client in your test. By default Loadero creates the template using client. A lot of times client is also referred to as browser.

Not all commands behave the same way as they do in the Loadero environment. Some of them are modified to work in a local environment, such as updateNetwork and setRequestHeader.

Commands

The following table shows all available commands and whether there are any changes to how they function in a local environment.

Full descriptions for how each function behaves in Loadero and their usage can be found in Loadero wiki page. To see the differences between local and Loadero environment, you can compare the descriptions in the wiki to the differences mentioned in this README.

| Command | Differences | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | genEmail | Full email or only first part can be provided, if only the first part is provided then @mailinator.com is appended | | ignoreAlert | No differences | | performTimed | No differences | | receiveEmail | By default an empty array will be returned, but emails.json file can be saved in the working directory which will contain all of the emails | | setFile | Any local file can be used, migration to Loadero may require changing the file path | | setRequestHeader | No request header will be set | | setUserAgent | User agent won't be changed | | takeScreenshot | Screenshot will be saved locally in project root directory | | timeExecution | Execution time will be logged, but not saved | | updateNetwork | Network settings will not be updated | | waitForDownloadFinished | Function will finish instantly and not wait for download to be finished |

The emails.json file should be located in the same directory where package.json file is located in your project and should have the following structure:

{
  "emails": [
    {
      "from": "email_from",
      "to": "email_to",
      "headers": {
        "header1": "header_value"
      },
      "subject": "email_subject",
      "text/html": "html body",
      "text/plain": "plain text body"
    }
  ]
}

To simulate a more realistic environment, you can modify the emails.json file mid-run to add additional emails to the array. The file will be read every time the receiveEmail command is called.