agentsclimarketplace

Nemojs skill

Skill Pyfagorass/bookofspells/skills/lambdatest/nemojs-skill

Generates Nemo.js automation tests in JavaScript. PayPal's Selenium-based test framework for Node.js. Use when user mentions "Nemo.js", "nemo automation". Triggers on: "Nemo.js", "nemo automation", "nemo test", "PayPal test framework".From its SKILL.md

Install
npx -y skills add Pyfagorass/bookofspells --skill nemojs-skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.5 KB, 812 tokens by cl100k_base, as published. Nobody here has run it

Nemo.js Automation Skill

PayPal's Selenium-based test automation framework for Node.js.

For TestMu AI cloud execution, see reference/cloud-integration.md and shared/testmu-cloud-reference.md.

Core Patterns

Basic Test (Mocha)

const Nemo = require('nemo');
const { expect } = require('chai');

describe('Login Flow', function() {
  this.timeout(30000);
  let nemo;

  before(async () => {
    nemo = await Nemo();
  });

  after(async () => {
    await nemo.driver.quit();
  });

  it('should login with valid credentials', async () => {
    await nemo.driver.get(nemo.data.baseUrl + '/login');
    const email = await nemo.view._find('#email');
    await email.sendKeys('[email protected]');
    const password = await nemo.view._find('#password');
    await password.sendKeys('password123');
    await nemo.view._find('button[type="submit"]').click();

    await nemo.view._waitVisible('.dashboard', 10000);
    const url = await nemo.driver.getCurrentUrl();
    expect(url).to.include('/dashboard');
  });

  it('should show error for invalid credentials', async () => {
    await nemo.driver.get(nemo.data.baseUrl + '/login');
    await nemo.view._find('#email').sendKeys('[email protected]');
    await nemo.view._find('#password').sendKeys('wrong');
    await nemo.view._find('button[type="submit"]').click();

    await nemo.view._waitVisible('.error', 5000);
    const error = await nemo.view._find('.error');
    const text = await error.getText();
    expect(text).to.include('Invalid');
  });
});

View Locators

await nemo.view._find('#css-id');                    // CSS
await nemo.view._find('.class-name');                // CSS class
await nemo.view._find('[data-testid="login"]');     // Data attribute
await nemo.view._find('xpath://button[@type]');     // XPath prefix
await nemo.view._waitVisible(locator, timeout);     // Wait + find
await nemo.view._finds('.items');                    // Find multiple

Configuration (nemo.config.json)

{
  "driver": {
    "browser": "chrome",
    "server": "http://localhost:4444/wd/hub"
  },
  "data": {
    "baseUrl": "http://localhost:3000"
  },
  "view": ["locator"],
  "plugins": {
    "view": { "module": "nemo-view" }
  }
}

Cloud Execution on TestMu AI

Set environment variables: LT_USERNAME, LT_ACCESS_KEY

{
  "driver": {
    "browser": "chrome",
    "server": "https://hub.lambdatest.com/wd/hub",
    "serverCaps": {
      "username": "${LT_USERNAME}",
      "accessKey": "${LT_ACCESS_KEY}"
    },
    "capabilities": {
      "LT:Options": {
        "user": "${LT_USERNAME}",
        "accessKey": "${LT_ACCESS_KEY}",
        "build": "Nemo Build",
        "name": "Nemo Test",
        "platformName": "Windows 11",
        "video": true,
        "console": true,
        "network": true
      }
    }
  }
}

Setup: npm install nemo nemo-view --save-dev

Run: npx mocha test/*.js --timeout 30000

Deep Patterns

For advanced patterns, debugging guides, CI/CD integration, and best practices, see reference/playbook.md.

What ships with it: 3 files

10.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,834. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.