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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@clary-so/appium-helper

v0.5.6

Published

Appium is a blackbox e2e testing framework, which means you can run it on any app (even production ones) with no setup required.

Readme

Appium Helper

Appium is a blackbox e2e testing framework, which means you can run it on any app (even production ones) with no setup required.

However, since it supports many languages and platforms, the docs can be difficult to navigate and find the precise way to do things. This package wraps a webdriverio client to expose most common e2e testing capabilities you would want to use.

Usage

Getting started

  1. Install the helper yarn add @bam.tech/appium-helper

  2. Write your test script

// appium.test.ts
import { AppiumDriver } from "@bam.tech/appium-helper";

test("e2e", async () => {
  const driver = await AppiumDriver.create({
    // `npx @perf-profiler/profiler getCurrentApp` will display info for the current app
    appPackage: "com.example",
    appActivity: "com.example.MainActivity",
  });

  driver.startApp();
  await driver.findElementByText("Welcome");
});
  1. Run the appium server npx appium in a terminal. If you just installed Appium, you may need to install a driver, e.g., by running npx appium driver install uiautomator2.
  2. Run your test file in a separate terminal yarn jest appium.test.ts

API

Wait for element

You can find an element by text or testID. The helper will wait for the element to exist and return it:

await driver.findElementByText("Welcome");
await driver.findElementById("welcome_text");

Click element

You can click an element by text or testID. The helper will wait for the element to exist and click it:

await driver.clickElementByText("Welcome");
await driver.clickElementById("welcome_text");

Scrolling

await driver.scrollDown();
await driver.scrollToEnd();

Start/Stop app

driver.startApp();
// You should probably add a finder to wait for the app to start
// for instance driver.findElementByText("Welcome");

driver.stopApp();

Waiting

You can also wait for a certain amount of time:

await driver.wait(<delay in ms>);
// e.g.
await driver.wait(5000);

Inputs

First find the element by its placeholder, value or test id, then use addValue:

const input = await driver.findElementByText("Email input Placeholder");
await input.addValue("My username");

Run any other webdriverio commands

AppiumDriver just wraps a webdriverio client. You can still run any webdriverio commands using:

const client = driver.client;
// run any commands
await client.$("...");