Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

qawolf

Package Overview
Dependencies
Maintainers
2
Versions
127
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

qawolf

Create browser tests 10x faster

  • 1.2.0
  • npm
  • Socket score

Version published
Weekly downloads
562
decreased by-54.9%
Maintainers
2
Weekly downloads
 
Created
Source

QA Wolf

Create browser tests 10x faster

Free and open source library to create Playwright/Jest browser tests and run them in CI

tweet npm version

🚀 Get Started | 📖 API | 👋 Chat | 🗺️ Roadmap


🐺 What is QA Wolf?

QA Wolf is a Node.js library for creating browser tests. Run one command (npx qawolf init) to configure your project and set up CI.

  • Skip writing boilerplate: Your browser actions are converted to Playwright/Jest code.
  • Create stable tests: Your tests automatically wait for elements. Element selectors use test attributes when possible, and CSS/text otherwise.
  • Edit your tests: Edit your code as it is created and add steps to existing tests. Re-run your tests automatically with watch mode.
  • Run tests in CI: A workflow file for your CI provider is automatically created for you.
  • Debug with ease: Each test run includes a video and browser logs.

🖥️ Install

Documentation


Set up your project for browser tests:

cd /my/awesome/project
npm init qawolf
# or yarn create qawolf

Configure your test directory and CI provider:

? rootDir: Directory to create tests in (.qawolf)

? Set up CI with GitHub Actions? (y/N)

This will install qawolf, jest and playwright as dev dependencies and create a CI workflow file to:

  • 🐎 Run tests in parallel
  • 📹 Record a video of each test
  • 📄 Capture browser logs

🎨 Create a test

Documentation


npx qawolf create url [name]

💪 Convert your actions into Playwright code:

ActionStatusExample
Clickpage.click('#login')
Typepage.fill('.username', 'spirit@qawolf.com')
Scrollqawolf.scroll(page, 'html', { x: 0, y: 200 })
Selectpage.selectOption('.ice_cream', 'chocolate')
Replace textpage.fill('.username', 'username')
Pastepage.type('password', 'pasted')
Use a test attributepage.click("[data-qa='submit']")
Use a test attribute on an ancestorpage.click("[data-qa='radio'] [value='cat']")
Use multiple pages/tabsqawolf.waitForPage(page.context(), 1)
Iframes🗺️Coming soon
Drag and drop🗺️Coming soon
File upload🗺️Coming soon
Back button🗺️Coming soon

As your test is created:

  • ✏️ Edit the code as you like
  • 🖥️ Use the REPL to try out commands

✅ Run your tests

Documentation


On Chromium:

npx qawolf test [name]

On Firefox:

npx qawolf test --firefox [name]

On Webkit:

npx qawolf test --webkit [name]

On all browsers:

npx qawolf test --all-browsers [name]

🙋 Get help

We want QA Wolf to work for you, so please reach out to get help!

If you have a feature request or feedback, please open an issue or chat with us.


📝 License

QA Wolf is licensed under BSD-3-Clause.

FAQs

Package last updated on 13 Jul 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc