Giter Club home page Giter Club logo

Comments (5)

stefanak-michal avatar stefanak-michal commented on July 26, 2024

Gemini opinion:

I can help you choose the right tool for your web frontend automation testing with Selenium, Cypress, Playwright, and TestCafe, considering your project's specifics (TypeScript, ReactJS, visual testing).

Here's a breakdown of the key differences and their suitability for your scenario:

Selenium:

  • Pros:
    • Most mature and widely adopted framework.
    • Supports the broadest range of browsers and programming languages (including TypeScript).
    • Offers great flexibility for complex testing scenarios.
  • Cons:
    • Can be more complex to set up and maintain compared to newer options.
    • Relies on external WebDriver implementations, adding another layer of configuration.
    • Might be overkill for purely visual testing.

Cypress:

  • Pros:
    • Designed specifically for end-to-end (E2E) testing in the browser.
    • Offers a user-friendly, JavaScript-based API that integrates well with ReactJS projects.
    • Provides built-in visual testing capabilities.
    • Integrates well with GitHub Actions.
  • Cons:
    • Supports a slightly smaller range of browsers compared to Selenium.
    • May not be ideal for highly complex testing requirements.

Playwright:

  • Pros:
    • Developed by Microsoft, offering good support and frequent updates.
    • Supports multiple programming languages (including TypeScript) and browsers.
    • Provides a powerful and flexible API for various testing needs, including visual testing.
    • Integrates well with GitHub Actions.
  • Cons:
    • Still relatively new compared to Selenium, with a smaller community.
    • Might have a steeper learning curve for those unfamiliar with its approach.

TestCafe:

  • Pros:
    • Easy to set up and use, with a focus on developer experience.
    • Offers good visual testing capabilities.
    • Integrates well with continuous integration tools like GitHub Actions.
  • Cons:
    • Supports a limited set of browsers compared to the others.
    • Might not be as flexible for highly customized testing needs.

Considering your project:

  • Frontend-only with TypeScript and ReactJS: Cypress or Playwright would be strong contenders due to their native JavaScript support and potential integration with React testing libraries.
  • Visual testing focus: Cypress and TestCafe both have built-in visual testing features.
  • GitHub Actions integration: All these tools integrate well with GitHub Actions.

Recommendation:

For your ReactJS frontend with a focus on visual testing and GitHub Actions integration, Cypress appears to be the most suitable choice. Its built-in visual testing capabilities and smooth integration with React development tools make it a great fit.

However, if you need more flexibility and broader browser support, Playwright is another strong option worth considering. It offers a powerful API and is actively maintained.

Additional tips:

  • Experiment with both Cypress and Playwright to see which one feels more comfortable for you and your team.
  • Explore the documentation and community resources for each tool to get a better understanding of their capabilities.

I hope this comprehensive analysis helps you make an informed decision!

from cyphergui.

stefanak-michal avatar stefanak-michal commented on July 26, 2024

Implementing playwright

While in development I don't commit and push screenshots. So before pull request don't forget to regenerate and commit them.

from cyphergui.

stefanak-michal avatar stefanak-michal commented on July 26, 2024

Looks like the tests will be separated into multiple groups.

  • Neo4j with movies dataset - test all elementary read only functionality - run in parallel
  • Neo4j empty - test write operations - execute in series
  • Neo4j enterprise - multidatabase
  • Memgraph - test memgraph specific functions (map as node/rel property, not all property types like in Neo4j, what else? Check where you call db.ecosystem)

from cyphergui.

stefanak-michal avatar stefanak-michal commented on July 26, 2024

Don't forget to add informations to CONTRIBUTING.md

from cyphergui.

stefanak-michal avatar stefanak-michal commented on July 26, 2024

While in development I don't commit and push screenshots. So before pull request don't forget to regenerate and commit them.

Considering to not use screenshot visual check.

from cyphergui.

Related Issues (20)

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.