Alternatives to Protractor logo

Alternatives to Protractor

Selenium, PhantomJS, WebdriverIO, Jasmine, and Compass are the most popular alternatives and competitors to Protractor.
298
330
+ 1
21

What is Protractor and what are its top alternatives?

Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
Protractor is a tool in the Javascript Testing Framework category of a tech stack.
Protractor is an open source tool with 8.7K GitHub stars and 2.4K GitHub forks. Here鈥檚 a link to Protractor's open source repository on GitHub

Top Alternatives to Protractor

  • Selenium

    Selenium

    Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well. ...

  • PhantomJS

    PhantomJS

    PhantomJS (www.phantomjs.org) is a headless WebKit scriptable with JavaScript. It is used by hundreds of developers and dozens of organizations for web-related development workflow. ...

  • WebdriverIO

    WebdriverIO

    WebdriverIO lets you control a browser or a mobile application with just a few lines of code. Your test code will look simple, concise and easy to read. ...

  • Jasmine

    Jasmine

    Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run. ...

  • Compass

    Compass

    The compass core framework is a design-agnostic framework that provides common code that would otherwise be duplicated across other frameworks and extensions. ...

  • Cypress

    Cypress

    Cypress is a front end automated testing application created for the modern web. Cypress is built on a new architecture and runs in the same run-loop as the application being tested. As a result Cypress provides better, faster, and more reliable testing for anything that runs in a browser. Cypress works on any front-end framework or website. ...

  • Cucumber

    Cucumber

    Cucumber is a tool that supports Behaviour-Driven Development (BDD) - a software development process that aims to enhance software quality and reduce maintenance costs. ...

  • Puppeteer

    Puppeteer

    Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome. ...

Protractor alternatives & related posts

related Selenium posts

Kamil Kowalski
Engineering Manager at Fresha | 27 upvotes 路 717.9K views

When you think about test automation, it鈥檚 crucial to make it everyone鈥檚 responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Benjamin Poon
QA Manager - Engineering at HBC Digital | 8 upvotes 路 583.7K views

For our digital QA organization to support a complex hybrid monolith/microservice architecture, our team took on the lofty goal of building out a commonized UI test automation framework. One of the primary requisites included a technical minimalist threshold such that an engineer or analyst with fundamental knowledge of JavaScript could automate their tests with greater ease. Just to list a few: - Nightwatchjs - Selenium - Cucumber - GitHub - Go.CD - Docker - ExpressJS - React - PostgreSQL

With this structure, we're able to combine the automation efforts of each team member into a centralized repository while also providing new relevant metrics to business owners.

See more
PhantomJS logo

PhantomJS

434
337
17
Scriptable Headless WebKit
434
337
+ 1
17
CONS OF PHANTOMJS
    No cons available

    related PhantomJS posts

    Tim Abbott

    We use CasperJS because we adopted it back in 2013 for JavaScript frontend testing. It was a really nice system back then compared to what else was out there; you had PhantomJS as a programmable browser that actually rendered CSS and everything, it was really fast (speed is a big downside of e.g. Selenium), and it was possible to make non-flaky frontend integration tests with it.

    I wouldn't recommend it today, because PhantomJS is a basically dead project, and as a result, so is CasperJS. I expect we'll migrate to something else. We haven't in large part because 95% of our new tests are written with a simple Node.js-based unit testing framework we use that run 35K lines of unit tests covering most of our JS codebase in 3.6 seconds. And for the things where we want an integration test, CasperJS does work, and I think there's a good chance that waiting another year or two will result in our being able to switch to a much better option than what we'd get if we migrated now.

    See more
    WebdriverIO logo

    WebdriverIO

    148
    230
    27
    Webdriver/Selenium 2.0 JavaScript bindings for Node.js
    148
    230
    + 1
    27

    related WebdriverIO posts

    Kevin Roulleau
    QA Engineer Freelance at happn | 5 upvotes 路 127.6K views

    I chose WebdriverIO and Appium to implement a E2E tests solution on a native mobile app. WebdriverIO goes well beyond just implementing the Selenium / Appium protocol and allows to run tests in parallel out of the box. Appium has the big advantage of supporting iOS and Android platforms, so the test codebase and tools are exactly the same, which greatly reduces the learning curve and implementation time.

    See more

    related Jasmine posts

    Joshua Dean K眉pper
    CEO at Scrayos UG (haftungsbeschr盲nkt) | 6 upvotes 路 31.8K views

    For our internal team and collaboration panel we use Nuxt.js (with TypeScript that is transpiled into ES6), Webpack and npm. We enjoy the opinionated nature of Nuxt.js over vanilla Vue.js, as we would end up using all of the components Nuxt.js incorporates anyways and we can adhere to the conventions setup by the Nuxt.js project, which allows us to get better support in case we run into any dead ends. Webpack allows us to create reproducable builds and also debug our application with hot reloads, which greately increased the pace at which we are able to perform and test changes. We also incorporated a lot of testing (ESLint, Chai, Jasmine, Nightwatchjs) into our pipelines and can trigger those jobs through GitLab CI. All packages are fetched through npm, so that we can keep our git repositories slim and are notified of new updates aswell as reported security flaws.

    See more

    Switched from Jasmine with Karma that come setup by Angular CLI to use Jest instead, since Jasmine and Karma were very finicky in my setup and had to be reconfigured frequently to run tests properly.

    Jest was also easier to integrate into my workflow with Visual Studio Code.

    See more
    Compass logo

    Compass

    326
    239
    12
    A Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain
    326
    239
    + 1
    12
    CONS OF COMPASS
      No cons available

      related Compass posts

      related Cypress posts

      Kamil Kowalski
      Engineering Manager at Fresha | 27 upvotes 路 717.9K views

      When you think about test automation, it鈥檚 crucial to make it everyone鈥檚 responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

      See more
      Robert Zuber

      We are in the process of adopting Next.js as our React framework and using Storybook to help build our React components in isolation. This new part of our frontend is written in TypeScript, and we use Emotion for CSS/styling. For delivering data, we use GraphQL and Apollo. Jest, Percy, and Cypress are used for testing.

      See more
      Cucumber logo

      Cucumber

      606
      529
      18
      Simple, human collaboration.
      606
      529
      + 1
      18
      CONS OF CUCUMBER
        No cons available

        related Cucumber posts

        Benjamin Poon
        QA Manager - Engineering at HBC Digital | 8 upvotes 路 583.7K views

        For our digital QA organization to support a complex hybrid monolith/microservice architecture, our team took on the lofty goal of building out a commonized UI test automation framework. One of the primary requisites included a technical minimalist threshold such that an engineer or analyst with fundamental knowledge of JavaScript could automate their tests with greater ease. Just to list a few: - Nightwatchjs - Selenium - Cucumber - GitHub - Go.CD - Docker - ExpressJS - React - PostgreSQL

        With this structure, we're able to combine the automation efforts of each team member into a centralized repository while also providing new relevant metrics to business owners.

        See more
        Sarah Elson
        Product Growth at LambdaTest | 4 upvotes 路 234.4K views

        @producthunt LambdaTest Selenium JavaScript Java Python PHP Cucumber TeamCity CircleCI With this new release of LambdaTest automation, you can run tests across an Online Selenium Grid of 2000+ browsers and OS combinations to perform cross browser testing. This saves you from the pain of maintaining the infrastructure and also saves you the licensing costs for browsers and operating systems. #testing #Seleniumgrid #Selenium #testautomation #automation #webdriver #producthunt hunted

        See more
        Puppeteer logo

        Puppeteer

        276
        349
        10
        Headless Chrome Node API
        276
        349
        + 1
        10

        related Puppeteer posts

        I work in a company building web apps with AngularJS. I started using Selenium for tests automation, as I am more familiar with Python. However, I found some difficulties, like the impossibility of using IDs and fixed lists of classes, ending up with using xpaths most, which unfortunately could change with fixes and modifications in the code.

        So, I started using Puppeteer, but I am still learning. It seems easier to find elements on the webpage, even if the creation and managing of arrays of elements seem to be a little bit more complicated than in Selenium, but it could be also due to my poor knowledge of JavaScript.

        Any comments on this comparison and also on comparisons with similar tools are welcome! :)

        See more