Skip to content

CoreLogicLLC/qawolf

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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 (npm init qawolf@latest or yarn create qawolf) 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@latest
# 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:

Action Status Example
Click βœ… page.click('#login')
Type βœ… page.fill('.username', '[email protected]')
Scroll βœ… qawolf.scroll(page, 'html', { x: 0, y: 200 })
Select βœ… page.selectOption('.ice_cream', 'chocolate')
Paste βœ… page.fill('password', 'pasted')
Reload βœ… page.reload()
Replace text βœ… page.fill('.username', 'username')
Go back βœ… page.goBack()
Use iframes βœ… (await page.waitForSelector("#storybook-preview-iframe")).contentFrame()
Use multiple tabs βœ… context.newPage()
Use a popup βœ… qawolf.waitForPage(context, 1)
Use a test attribute βœ… page.click("[data-qa='submit']")
Use a test attribute on an ancestor βœ… page.click("[data-qa='radio'] [value='cat']")
Drag and drop πŸ—ΊοΈ Coming soon
File upload πŸ—ΊοΈ 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.

Used Licenses

departmentrelated tonamelicense periodmaterial / not materiallicense typelinkremote versioninstalled versiondefined versionauthor
WMS-testWeb-test@qawolf/jest-reporterperpetualmaterialBSD-3.0https://registry.npmjs.org/@qawolf/jest-reporter/-/jest-reporter-0.1.0.tgz0.1.00.1.0^0.1.0QA Wolf
WMS-testWeb-testan-array-of-english-wordsperpetualmaterialMITgit+https://github.com/words/an-array-of-english-words.git2.0.02.0.0^2.0.0Zeke Sikelianos [email protected] http://zeke.sikelianos.com
WMS-testWeb-testawait-outsideperpetualmaterialMITgit+https://github.com/nfcampos/await-outside.git3.0.03.0.0^3.0.0Nuno Campos [email protected] https://github.com/nfcampos
WMS-testWeb-testcallsitesperpetualmaterialMITgit+https://github.com/sindresorhus/callsites.git3.1.03.1.0^3.1.0Sindre Sorhus [email protected] https://sindresorhus.com
WMS-testWeb-testchokidarperpetualmaterialMITgit+https://github.com/paulmillr/chokidar.git3.5.33.4.2^3.4.2Paul Miller https://paulmillr.com
WMS-testWeb-testcommanderperpetualmaterialMITgit+https://github.com/tj/commander.js.git6.2.16.1.0^6.1.0TJ Holowaychuk [email protected]
WMS-testWeb-testcreate-qawolfperpetualmaterialBSD-3-Clausehttps://registry.npmjs.org/create-qawolf/-/create-qawolf-1.7.0.tgz1.7.01.3.6^1.3.6QA Wolf
WMS-testWeb-testdebugperpetualmaterialMITgit://github.com/debug-js/debug.git4.3.34.1.1*TJ Holowaychuk [email protected]
WMS-testWeb-testglobperpetualmaterialISCgit://github.com/isaacs/node-glob.git7.2.07.1.6^7.1.6Isaac Z. Schlueter [email protected] http://blog.izs.me/
WMS-testWeb-testhtml-tagsperpetualmaterialMITgit+https://github.com/sindresorhus/html-tags.git3.1.03.1.0^3.1.0Sindre Sorhus [email protected] sindresorhus.com
WMS-testWeb-testinquirerperpetualmaterialMITgit+https://github.com/SBoudrias/Inquirer.js.git7.3.37.3.3^7.3.3Simon Boudrias [email protected]
WMS-testWeb-testkleurperpetualmaterialMITgit+https://github.com/lukeed/kleur.git4.1.44.1.1^4.1.1Luke Edwards [email protected] https://lukeed.com
WMS-testWeb-testopenperpetualmaterialMITgit+https://github.com/sindresorhus/open.git7.4.27.2.1^7.2.1Sindre Sorhus [email protected] https://sindresorhus.com
WMS-testWeb-testplaywrightperpetualmaterialApache-2.0git+https://github.com/Microsoft/playwright.git1.20.0-alpha-mar-1-20221.20.0-alpha-feb-25-2022^1.20.0-alpha-feb-25-2022Microsoft Corporation
WMS-testWeb-testplaywright-videoperpetualmaterialBSD-3-Clause-Cleargit+https://github.com/qawolf/playwright-video.git2.4.02.4.0^2.4.0QA Wolf
WMS-testWeb-testsplitperpetualmaterialMITgit://github.com/dominictarr/split.git1.0.11.0.1^1.0.1Dominic Tarr [email protected] http://bit.ly/dominictarr
WMS-testWeb-testtempyperpetualmaterialMITgit+https://github.com/sindresorhus/tempy.git0.7.10.7.0^0.7.0Sindre Sorhus [email protected] https://sindresorhus.com
WMS-testWeb-testupdate-notifierperpetualmaterialBSD-2-Clausegit+https://github.com/yeoman/update-notifier.git4.1.34.1.1^4.1.1Sindre Sorhus [email protected] https://sindresorhus.com
WMS-testWeb-test@ffmpeg-installer/ffmpegperpetualmaterialLGPL-2.1git+https://github.com/kribblo/node-ffmpeg-installer.git1.1.01.0.20^1.0.20Kristoffer LundΓ©n [email protected]
WMS-testWeb-test@qawolf/sandboxperpetualmaterialhttps://registry.npmjs.org/@qawolf/sandbox/-/sandbox-0.1.26.tgz0.1.260.1.260.1.26
WMS-testWeb-test@types/debugperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git4.1.74.1.5^4.1.5
WMS-testWeb-test@types/fs-extraperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git9.0.139.0.1^9.0.1
WMS-testWeb-test@types/globperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git7.2.07.1.3^7.1.3
WMS-testWeb-test@types/inquirerperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git7.3.37.3.1^7.3.1
WMS-testWeb-test@types/jestperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git26.0.2426.0.14^26.0.14
WMS-testWeb-test@types/lodashperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git4.14.1794.14.161^4.14.161
WMS-testWeb-test@types/nodeperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git14.18.1214.11.2^14.11.2
WMS-testWeb-test@types/update-notifierperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git4.1.14.1.1^4.1.1
WMS-testWeb-test@types/wsperpetualmaterialMIThttps://github.com/DefinitelyTyped/DefinitelyTyped.git7.4.77.2.6^7.2.6
WMS-testWeb-test@typescript-eslint/eslint-pluginperpetualmaterialMITgit+https://github.com/typescript-eslint/typescript-eslint.git4.33.04.2.0^4.2.0
WMS-testWeb-test@typescript-eslint/parserperpetualmaterialBSD-2-Clausegit+https://github.com/typescript-eslint/typescript-eslint.git4.33.04.2.0^4.2.0
WMS-testWeb-testconcurrentlyperpetualmaterialMITgit+https://github.com/kimmobrunfeldt/concurrently.git5.3.05.3.0^5.3.0Kimmo Brunfeldt
WMS-testWeb-testeslintperpetualmaterialMITgit+https://github.com/eslint/eslint.git7.32.07.9.0^7.9.0Nicholas C. Zakas [email protected]
WMS-testWeb-testeslint-config-prettierperpetualmaterialMITgit+https://github.com/prettier/eslint-config-prettier.git6.15.06.11.0^6.11.0Simon Lydell
WMS-testWeb-testeslint-plugin-jestperpetualmaterialMITgit+https://github.com/jest-community/eslint-plugin-jest.git24.7.024.0.2^24.0.2Jonathan Kim [email protected] jkimbo.com
WMS-testWeb-testfs-extraperpetualmaterialMITgit+https://github.com/jprichardson/node-fs-extra.git9.1.09.0.1^9.0.1JP Richardson [email protected]
WMS-testWeb-testjestperpetualmaterialMITgit+https://github.com/facebook/jest.git26.6.326.4.2^26.4.2
WMS-testWeb-testjest-mock-processperpetualmaterialMITgit+https://github.com/EpicEric/jest-mock-process.git1.4.11.4.0^1.4.0Eric Rodrigues Pires [email protected]
WMS-testWeb-testplaywright-webkitperpetualmaterialApache-2.0git+https://github.com/Microsoft/playwright.git1.7.01.7.01.7.0Microsoft Corporation
WMS-testWeb-testprettierperpetualmaterialMITgit+https://github.com/prettier/prettier.git2.5.12.1.2^2.1.2James Long
WMS-testWeb-testrimrafperpetualmaterialISCgit://github.com/isaacs/rimraf.git3.0.23.0.2^3.0.2Isaac Z. Schlueter [email protected] http://blog.izs.me/
WMS-testWeb-testts-jestperpetualmaterialMITgit+https://github.com/kulshekhar/ts-jest.git26.5.626.4.0^26.4.0Kulshekhar Kabra [email protected] https://github.com/kulshekhar
WMS-testWeb-testts-loaderperpetualmaterialMITgit+https://github.com/TypeStrong/ts-loader.git8.3.08.0.4^8.0.4John Reilly [email protected] https://blog.johnnyreilly.com
WMS-testWeb-testts-nodeperpetualmaterialMITgit://github.com/TypeStrong/ts-node.git9.1.19.0.0^9.0.0Blake Embrey [email protected] http://blakeembrey.me
WMS-testWeb-testtypescriptperpetualmaterialApache-2.0https://github.com/Microsoft/TypeScript.git4.6.24.0.3^4.0.3Microsoft Corp.
WMS-testWeb-testwebpackperpetualmaterialMITgit+https://github.com/webpack/webpack.git4.46.04.44.2^4.44.2Tobias Koppers @sokra
WMS-testWeb-testwebpack-cliperpetualmaterialMITgit+https://github.com/webpack/webpack-cli.git3.3.123.3.12^3.3.12
WMS-testWeb-testwebpack-virtual-modulesperpetualmaterialMITgit+https://github.com/sysgears/webpack-virtual-modules.git0.3.20.3.1^0.3.1SysGears INC

About

🐺 Create browser tests 10x faster

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 93.8%
  • TypeScript 6.2%