Giter Site home page Giter Site logo

sorokinvld / testplane Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gemini-testing/testplane

0.0 0.0 0.0 7.91 MB

Testplane (ex-hermione) browser test runner based on mocha and wdio

License: MIT License

JavaScript 77.93% TypeScript 22.07%

testplane's Introduction

Testplane

Fast, scalable and robust testing solution for the ever-evolving web landscape.

Total Downloads Latest Release License


Testplane (ex-Hermione) is a battle-hardened framework for testing web apps at any scale, any browser and any platform.

๐Ÿง‘โ€๐Ÿ’ป Developer Friendly: Enjoy a hassle-free start with our installation wizard, TypeScript support, instant feedback via live test editing, advanced HTML-reporter, and smart features like auto-wait and retries.

๐Ÿ“ธ Visual Testing Redefined: Capture anything from specific details to whole pages, manage diffs with a streamlined UI, explore a variety of diff modes and let Testplane tackle flakiness.

๐ŸŒ Test Across Environments: Forget being tied to a couple of latest Chrome builds. Testplane goes beyond that, offering testing on real devices and broad automation protocol support, mirroring your users' actual environments.

๐Ÿ“ˆ Scale Effortlessly: Run thousands of tests on a remote browser grid or benefit from ultra-fast local execution. Testplane offers sharding, parallel test execution, and isolated browser contexts.

โšก Infinite Extensibility: Testplane offers a versatile plugin system with dozens of open-source plugins on GitHub, along with custom reporters, commands, and execution logic.

Getting started

Note: if you prefer manual installation, you can run npm i -D testplane. Check out the Docs for details.

  1. Use the CLI wizard to set up testplane and generate basic configuration:

    npm init testplane@latest new-testplane-project

    You may add -- --verbose argument to launch a tool in extra-questions mode, to pick custom package manager or install extra plugins.

  2. Open the newly generated file testplane-tests/example.testplane.ts. Weโ€™ll modify the test to ensure the description includes expected text:

    describe("test", () => {
        it("example", async ({browser}) => {
            await browser.url("https://example.com/");
    
            const description = await browser.$("p");
    
            expect(description).toHaveTextContaining("for use in illustrative examples in documents");
        });
    });
  3. Launch GUI:

    npx testplane gui
  4. Try running the test and watch it pass. Now, let's replace description text check with a visual assertion. Use the assertView command to carry out visual checks:

    - expect(description).toHaveTextContaining("for use in illustrative examples in documents");
    + await description.assertView("description"); // "description" is just a name of the assertion
  5. Run the test again. It will fail, because a reference image for the heading is missing. You can accept the diff and re-run the test, it will then pass.

Congratulations on writing your first Testplane test, which navigates to a page and executes a visual assertion. Dive into the Docs to discover more awesome features Testplane has to offer!

Docs

The documentation is divided into several sections:

Rename from "Hermione"

This project was formerly known as "Hermione", but eventually some copyright and trademark issues surfaced, leading to the decision to rebrand. After some discussion, we settled on "Testplane" as the official new title. Considering this change as merely a rebranding, we've proceeded with the existing version count instead of starting anew. Thus, Testplane v8.x is a drop-in replacement for Hermione v8.x.

Learn more about migration from Hermione to Testplane in the Docs.

Contributing

Our mission with this repository is to make the Testplane development process open, while continuing to improve upon its features, performance and ease of use. We hope other organizations find value in our project and benefit from our work.

We welcome and appreciate community contributions. To ensure our efforts are in sync, we recommend to raise an issue or leave a comment beforehand.

Visit our contributing guide to understand more about our development process and how to get involved.

License

Testplane is MIT licensed.

testplane's People

Contributors

dudagod avatar j0tunn avatar egavr avatar sipayrt avatar kuznetsovroman avatar rostik404 avatar shadowusr avatar tormozz48 avatar kvmamich avatar catwithapple avatar miripiruni avatar swinx avatar dmitriy-kiselyov avatar xrsd avatar ruslanxdev avatar kolesnikovde avatar oldskytree avatar mb1te avatar levonet avatar tarmolov avatar leonsabr avatar sbmaxx avatar epszaw avatar c1825846 avatar mcheshkov avatar andre487 avatar nestrik avatar fosemberg avatar belyanskii avatar robot-tap avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.