Alternatives to Protractor logo

Alternatives to Protractor

Selenium, PhantomJS, WebdriverIO, Jasmine, and Compass are the most popular alternatives and competitors to Protractor.
1K
543
+ 1
33

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.8K GitHub stars and 2.3K GitHub forks. Here’s 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 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

Selenium logo

Selenium

15.5K
12.4K
526
Web Browser Automation
15.5K
12.4K
+ 1
526
PROS OF SELENIUM
  • 176
    Automates browsers
  • 154
    Testing
  • 101
    Essential tool for running test automation
  • 24
    Record-Playback
  • 24
    Remote Control
  • 8
    Data crawling
  • 7
    Supports end to end testing
  • 6
    Easy set up
  • 6
    Functional testing
  • 4
    The Most flexible monitoring system
  • 3
    End to End Testing
  • 3
    Easy to integrate with build tools
  • 2
    Comparing the performance selenium is faster than jasm
  • 2
    Record and playback
  • 2
    Compatible with Python
  • 2
    Easy to scale
  • 2
    Integration Tests
  • 0
    Integrated into Selenium-Jupiter framework
CONS OF SELENIUM
  • 8
    Flaky tests
  • 4
    Slow as needs to make browser (even with no gui)
  • 2
    Update browser drivers

related Selenium posts

Kamil Kowalski
Lead Architect at Fresha · | 28 upvotes · 3.9M views

When you think about test automation, it’s crucial to make it everyone’s 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 · 2.2M 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

1.2K
429
18
Scriptable Headless WebKit
1.2K
429
+ 1
18
PROS OF PHANTOMJS
  • 13
    Scriptable web browser
  • 3
    Depends on QT
  • 2
    No ECMAScript 6
CONS OF PHANTOMJS
    Be the first to leave a con

    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

    343
    505
    40
    Webdriver/Selenium 2.0 JavaScript bindings for Node.js
    343
    505
    + 1
    40
    PROS OF WEBDRIVERIO
    • 11
      Various integrations to vendors like Sauce Labs
    • 10
      Open Source
    • 8
      Great community
    • 7
      Easy to setup
    • 4
      Best solution for broad browser support
    CONS OF WEBDRIVERIO
    • 8
      High maintenance

    related WebdriverIO posts

    Raziel Alron
    Automation Engineer at Tipalti · | 7 upvotes · 2M views

    Currently, we are using Protractor in our project. Since Protractor isn't updated anymore, we are looking for a new tool. The strongest suggestions are WebdriverIO or Puppeteer. Please help me figure out what tool would make the transition fastest and easiest. Please note that Protractor uses its own locator system, and we want the switch to be as simple as possible. Thank you!

    See more
    Kevin Roulleau
    QA Engineer Freelance at happn · | 5 upvotes · 990.7K 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
    Jasmine logo

    Jasmine

    2.6K
    1.5K
    186
    DOM-less simple JavaScript testing framework
    2.6K
    1.5K
    + 1
    186
    PROS OF JASMINE
    • 64
      Can also be used for tdd
    • 49
      Open source
    • 18
      Originally from RSpec
    • 15
      Great community
    • 14
      No dependencies, not even DOM
    • 10
      Easy to setup
    • 8
      Simple
    • 3
      Created by Pivotal-Labs
    • 2
      Works with KarmaJs
    • 1
      Jasmine is faster than selenium in angular application
    • 1
      SpyOn to fake calls
    • 1
      Async and promises are easy calls with "done"
    CONS OF JASMINE
    • 2
      Unfriendly error logs

    related Jasmine posts

    Joshua Dean Küpper
    CEO at Scrayos UG (haftungsbeschränkt) · | 7 upvotes · 609K 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
    Sai Chaitanya Mankala
    Tech Lead at KIOT Innovations · | 6 upvotes · 865.5K views

    Protractor or Cypress for ionic-angular?

    We have a huge ionic-angular app with almost 100 pages and 10+ injectables. There are no tests written yet. Before we start, we need some suggestions about the framework. Would you suggest Cypress or Angular's Protractor with Jasmine / Karma for a heavy ionic app with Angular?

    See more
    Compass logo

    Compass

    354
    297
    12
    A Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain
    354
    297
    + 1
    12
    PROS OF COMPASS
    • 9
      No vendor prefix CSS pain
    • 1
      Mixins
    • 1
      Variables
    • 1
      Compass sprites
    CONS OF COMPASS
      Be the first to leave a con

      related Compass posts

      Cypress logo

      Cypress

      2.4K
      2K
      115
      When testing is easy, developers build better things faster and with confidence.
      2.4K
      2K
      + 1
      115
      PROS OF CYPRESS
      • 29
        Open source
      • 22
        Great documentation
      • 20
        Simple usage
      • 18
        Fast
      • 10
        Cross Browser testing
      • 9
        Easy us with CI
      • 5
        Npm install cypress only
      • 2
        Good for beginner automation engineers
      CONS OF CYPRESS
      • 21
        Cypress is weak at cross-browser testing
      • 14
        Switch tabs : Cypress can'nt support
      • 12
        No iFrame support
      • 9
        No page object support
      • 9
        No multiple domain support
      • 8
        No file upload support
      • 8
        No support for multiple tab control
      • 8
        No xPath support
      • 7
        No support for Safari
      • 7
        Cypress doesn't support native app
      • 7
        Re-run failed tests retries not supported yet
      • 7
        No support for multiple browser control
      • 5
        $20/user/thread for reports
      • 4
        Adobe
      • 4
        Using a non-standard automation protocol
      • 4
        Not freeware
      • 3
        No 'WD wire protocol' support

      related Cypress posts

      Kamil Kowalski
      Lead Architect at Fresha · | 28 upvotes · 3.9M views

      When you think about test automation, it’s crucial to make it everyone’s 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

      970
      919
      36
      Simple, human collaboration.
      970
      919
      + 1
      36
      PROS OF CUCUMBER
      • 20
        Simple Syntax
      • 8
        Simple usage
      • 5
        Huge community
      • 3
        Nice report
      CONS OF CUCUMBER
        Be the first to leave a con

        related Cucumber posts

        Benjamin Poon
        QA Manager - Engineering at HBC Digital · | 8 upvotes · 2.2M 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

        I am a QA heading to a new company where they all generally use Visual Studio Code, my experience is with IntelliJ IDEA and PyCharm. The language they use is JavaScript and so I will be writing my test framework in javaScript so the devs can more easily write tests without context switching.

        My 2 questions: Does VS Code have Cucumber Plugins allowing me to write behave tests? And more importantly, does VS Code have the same refactoring tools that IntelliJ IDEA has? I love that I have easy access to a range of tools that allow me to refactor and simplify my code, making code writing really easy.

        See more
        Puppeteer logo

        Puppeteer

        618
        570
        26
        Headless Chrome Node API
        618
        570
        + 1
        26
        PROS OF PUPPETEER
        • 10
          Very well documented
        • 10
          Scriptable web browser
        • 6
          Promise based
        CONS OF PUPPETEER
        • 10
          Chrome only

        related Puppeteer posts

        Raziel Alron
        Automation Engineer at Tipalti · | 7 upvotes · 2M views

        Currently, we are using Protractor in our project. Since Protractor isn't updated anymore, we are looking for a new tool. The strongest suggestions are WebdriverIO or Puppeteer. Please help me figure out what tool would make the transition fastest and easiest. Please note that Protractor uses its own locator system, and we want the switch to be as simple as possible. Thank you!

        See more
        Dave Willenberg
        Founding Director at Detroit Technical English · | 7 upvotes · 35.5K views
        HTML Templates: a Pain in the Backend

        We chose Pug because writing raw HTML is about as enjoyable as a fart in a spacesuit, and writing decently-rendering HTML for enterprise email clients is a soul-sucking type of black magic.

        Pug takes HTML as a (...markdown) language out of the stack by using a simple, sane syntax to represent HTML in just JavaScript©. Piecing together what you need from any number of standalone - including functional - components is both delightfully easy, and easy to maintain.

        All you're really writing are exportable JavaScript functions that take a single Object parameter - once that concept takes hold, you'll quickly swear off angle brackets in favor of neatly indented and extensible e-mail, invoice, and reporting templates.

        There's a jstransformer filter for instant interop with just about every preprocessor ( Stylus , in our case) and file format out there. Pass that compiled HTML though Juice on Node.js and bam - rugged HTML-emails that hold up in even the wonkiest Lotus Notes clients.

        That the end result is 'just HTML' is the final cherry on top. Debugging needs only DevTools, and Puppeteer 's now all you need to create fancy-pants PDFs to your heart's content.

        See more