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

@auxcode/auxta

v1.3.113

Published

Every HTML element on a web page can be a selector, which can be used to create AuxTA scenarios.

Downloads

523

Readme

AuxTA

Guidelines for the Frontend Programmers

Every HTML element on a web page can be a selector, which can be used to create AuxTA scenarios.

Of course, not all HTML elemets are used as selectors to create AuxTA scenarios.

Those HTML elements, which will be used as selectors for AuxTA scenarios, should have a Unique ID. This way AuxTA scenarios are created the fastest.

The best candidate for this is the HTML "id" attribute.

The ID value should reflect the functionality of the place.

To create a unique ID, make it multipart, beginning with more general parts which are guaranteed to be unique. This way one creates namespaces, which make it easier after that to end up with a unique ID.

For expmple:

id="shop_cart_button_submit"

More than one of the same element, For example several tables on one page, each should have a unique ID.

If it has nested elements they can have the same selectors as in the other elements, but it’s not necessary.

Implementing

The main thing is a scenario.

Scenarios consts of `steps.

Helpers

Change so that there is one function per helper file.

Clicking

All clicks wait for the selector by default and timeout w/ the standard timeout unless different is specified.

timeout It is recommended to have a standard timeout for the whole scenario and not to define spefici. TODO

auxta.clickByText TO BE FIXED BY GEORGE TO ADD THE WAIT FOR SELECTOR WHICH IS MISSING

auxta.clickByXPath

auxta.clickByClass

auxta.click() THINK TO MAKE TODO

waitforseelctorbytext depreciated

Working with Tab

...

Complex Workflows

Use Bulilding Blocks

Building Blocks do one simple thing each and allow you to build State Scripts and Scenrios.

Use State Scripts

State Scripts bring the system to a desired state from which a specific scenario begins.

Email

  • (AuxTA) We do some action on the website.
  • (Website) Sends an email to the email address of the user who did the action.
  • (AuxTA) Should check that that the email was correctly sent. So we check:
    • auxta.checkMail(_from_name_, _from_email_, _subject_, _body_text_)
      • The email login is in the main config of the test suite.
        • email
        • API TOKEN
      • For the moment we do it synchroneous (AuxTA waits for the email).
      • The email must be newser than the time of the action on the Website.
      • Must be from_name (substring)
      • Must be from_email (substring)
      • Must have subject (substring)
      • Must cotnain body_text (substring)
      • Quality of Service, if the email does not arrive w/in eg. 5 minutes we return an error w/ timeout.
    • auxta.clickInMail(_from_name_, _from_email_, _subject_, _click_on_)

Running

  • Create a main function that calls the run() function which starts all tests
  • Create a function for each test that calls the auxtaPuppeteer.run(event, callback, featureName, scenarioName) function

Puppeteer

https://pptr.dev

https://github.com/puppeteer/puppeteer

Install

npm i

Setup

{
  # All background functions that will be run, listed
  "suitesList": [
    "{filename}-background"
  ],
  # The tested site's url
  "baseURL": "https://{sitename}/",
  # The url where the tests are ran
  "testsURL": "https://{sitename}/",
  # The organization's name
  "organization": "string",
  # The digital product's name
  "digitalProduct": "bedrijfsfinanciering.com",
  # Max timeout in milliseconds
  # Default 1000
  "timeout": 1000,
  # The credentials of the user that uploads the tests to the site
  "email": "string",
  "password": "string",
  "token": "string"
  # Screen width and height used in the testing
  # Allows testing from mobile devices screens
  "screenWidth": 1920,
  "screenHeight": 1080,
}

##backlog Implement a way to scout the skipped steps w/ $failed=true, $skipped=++ control click go to source directory

##Improvements

  • introduce the new headless mode, by Puppeteer.

platform improvements

Also some improvements to the platform in general:

  • get the console state after a fail, this would increase the value of each failed report.

Backlog

13 October 2024

Make so that there can be more than one helper file and that we have one function per helper file.