#### August 23, 2019 \| Soumya Swaroop Gupta, Nivedha Senthil

# How Taiko compares to other browser automation tools

ThoughtWorks has been writing free and open source automated browser testing tools for over 15 years. Selenium RC was released in 2004, and WebDriver in 2007. Today, there are a lot of free and open source tools to automate browser based tests. Unfortunately, problems like flakiness and the cost of test maintenance have plagued this category of tests for a long time.

Over time, as users, we have opted for workarounds to deal with some of these issues. But sometimes all it needs is a different approach.

This year, the Gauge (by ThoughtWorks) team released [Taiko 1.0](https://taiko.dev/), a simple NodeJS library to address some of the problems of browser-based automated tests.

In this post, we’ll compare **Taiko** with five popular open source browser automation tools

- Selenium
- Webdriver IO
- Testcafe
- Cypress
- Puppeteer

Since we are a part of the team that built Taiko, our intention to compare is to discuss our rationale behind each point of comparison (along with examples) and how we think Taiko’s approach helps in each instance.

While analysing, we considered these parameters for a holistic comparison

- Test maintenance
- Reliability (reduced flakiness)
- Performance
- Test frameworks integration
- Ease of test failure analysis
- Cross Browser support
- Language support

# 1\. Test Maintenance

**The goal**: Tests should change only when there is a change in functionality. A change in the structure of a web page should not impact a test validating functional correctness.

However, most browser automation tools create tests that are hard to maintain. That’s because they use locators like XPath, ID's, CSS selectors to identify and perform actions on web page elements.

> _“Maintaining locators must be calculated as part of test maintenance cost.” - [FireFox Test Engineering](https://blog.mozilla.org/fxtesteng/2013/09/26/writing-reliable-locators-for-selenium-and-webdriver-tests/) blog_

These locators depend on the structure of a web page. The underlying structure can (and does) change frequently throughout the development process. Even minor changes in page structure break such tests. So, it increases the test maintenance costs.

**Taiko’s approach**

Taiko allows you to select elements on the page based on what you see. It's not based on the specific underlying structure that only a developer sees.

This means, to click that "Purchase" button you can use `click( "Purchase")`. It's based on the text on the screen and not based on the specific style, location or hidden identifier.

Multiple matches can be resolved with [proximity selectors](https://docs.taiko.dev/#toleftof) or a combination of them. Yet, if this is unsuitable, Taiko has fall back options. You can choose to select an element on the web page via XPath or CSS selector.

**Benefits**

[Taiko’s API](https://docs.taiko.dev/#smart-selectors) treats the browser like a black box. Tests written in Taiko are resilient to page structure changes as they minimise the need of using complicated locators.

**Compare with examples**

[This example](https://github.com/getgauge-contrib/compareBrowserAutomationTools/tree/master/compareCostOfSelectorMaintenance) compares scripts automating the [TODO MVC](https://todomvc.com/) application. The tests currently pass for the [React flavor](https://todomvc.com/examples/react/#/) of the TODO MVC. However, only tests written in Taiko pass when they are run against the [AngularJS](https://todomvc.com/examples/angularjs/#/!) flavor of TODO MVC. This is because Taiko focuses on testing functionality and not the underlying page or framework.

**Key Findings**

# 2\. Reliability (reduced flakiness)

**The goal** : Eliminate the root cause of flakiness in browser based tests.

In modern web applications, elements on the page can dynamically appear and disappear based on user actions. For example, imagine clicking on a user's icon to display their photos.

However, many libraries expect the test code to handle the wait time to perform an action. Other tools provide some granular and low level controls to explicitly wait for elements or time however, it's hard to learn and use these controls.

> _“1 in 7 of the tests written by our world-class engineers occasionally fail in a way not caused by changes to the code or tests.” - [Google Testing blogs](https://testing.googleblog.com/2016/05/flaky-tests-at-google-and-how-we.html?m=1)_

Explicit waits make test code unpredictable. Improper configuration, inappropriate use of APIs along with ineffective handling of waits by the tool makes tests flaky.

**Taiko’s approach**

As shown below, both Taiko and TestCafe have very good implicit wait mechanism before performing actions. This reduces flakiness in tests. However, unlike TestCafe, Taiko also ensures that the [performance of the test run remains good](https://github.com/getgauge-contrib/compareBrowserAutomationTools/blob/master/comparePerformanceAndReliableWaitsOfTools/ComparePerfomance.md)!

In case you want finer control, Taiko also has good fallback options to override the default behavior. You can define explicit [wait for conditions](https://docs.taiko.dev/#waitfor) for a given action in the test code to suit your needs.

**Benefits**

Modern test libraries "await" the element to appear instead. This makes your tests run more resilient to things like slow network connections. Implicit waits increase predictability.

**Compare with examples**

In this [example](https://github.com/getgauge-contrib/compareBrowserAutomationTools/tree/master/comparePerformanceAndReliableWaitsOfTools/benchmarks) only Taiko and TestCafe don’t need any explicit waits. To observe flakiness, comment out all the explicit wait conditions in tests of other tools and run it a few times. A detailed comparison is available in the [readme file](https://github.com/getgauge-contrib/compareBrowserAutomationTools/blob/master/comparePerformanceAndReliableWaitsOfTools/CompareReliableWaitMechanism.md) inside the example.

**Key Findings**

# 3\. Performance

**The goal**: Get fast and reliable feedback on test failures

> _“Usually the concern is application performance, which can have a direct impact on the bottom line. Testing performance, on the other hand, has a direct impact on developer productivity.” - [Why your choice of software testing suites matters](https://techbeacon.com/app-dev-testing/why-your-choice-software-testing-suites-matters)_

Slow test suites increase feedback time and time to fix, when something breaks. Teams generally tend to ignore slow test suites.

**Taiko’s approach**

Taiko explicitly chooses reliability over extreme performance. If this tradeoff is unsuitable, you can choose to override it to improve performance. Explicit waits can be defined for a given action.

**Benefits**

- Fast and more importantly, reliable feedback helps improve developer productivity. Flaky tests can be difficult to work with. You not only waste time analysing them but also genuine failures are re-run to check for flakiness. So as important as it is to be fast, it’s important that tests are reliable.

- Run tests in parallel for free. Running parallel tests in Cypress is a **paid** service. Unlike Cypress; Selenium, Puppeteer and Taiko tests can integrate with any test framework like [Gauge](/content//?utm_source=how_taiko_blog&utm=medium=blog&utm_campaign=taiko_blogpost&utm_term=&utm_content=/index.html), [Mocha](https://mochajs.org/), and [Jest](https://jestjs.io/). These can then use the framework’s parallel execution feature for **free**.

**Compare with examples**

In this [example](https://github.com/getgauge-contrib/compareBrowserAutomationTools/tree/master/comparePerformanceAndReliableWaitsOfTools/benchmarks), we ran all the tests sequentially, multiple times, to compare performance across tools. Machine and other details of the run are available in the [readme file](https://github.com/getgauge-contrib/compareBrowserAutomationTools/blob/master/comparePerformanceAndReliableWaitsOfTools/ComparePerfomance.md) of this example.

A shorter time and lower CPU indicate better performance. Here are some results of benchmark tests run in cpu with 8 core.

**Key Findings**

| Tools | Total(sec) | Performance |
| --- | --- | --- |
| Selenium - 4.0.0-alpha.7 (chromedriver - 83.0.0) | 13.240 | Average |
| WebdriverIO - 6.1.17 (chromedriver - 83.0.0) | 5.044 | Good |
| Testcafe - 1.8.0 | 23.977 | Basic |
| Cypress - 4.8.0 | 14.247 | Average |
| Puppeteer - 4.0.0 | 2.719 | Excellent |
| Taiko - 1.0.12 | 4.757 | Good |

[view raw](https://gist.github.com/NivedhaSenthil/919cdb1f9d8d3fee493bd428a851d125/raw/24dded8bbd83823d3d1ccff4ee6282ee0b760839/ComparePerformance.md) [ComparePerformance.md](https://gist.github.com/NivedhaSenthil/919cdb1f9d8d3fee493bd428a851d125#file-compareperformance-md)
hosted with ❤ by [GitHub](https://github.com/)

_Testcafe’s execution time could be 16 seconds if there were no reloads between tests. Reloading added an additional 4 seconds to the test suite._

**Some observations**

- We added waits [for a time period](https://github.com/getgauge-contrib/compareBrowserAutomationTools/blob/c93fda4184b17f9dee3fd3c894cd98d5bf42db42/comparePerformanceAndReliableWaitsOfTools/benchmarks/selenium/tests/customerManager.test.js#L45) in Selenium tests while measuring the performance. We found that it required a lot more effort to write optimized code (wait for required conditions) to reduce flakiness. Further optimisations can reduce the time taken for execution.
- Since it is difficult to integrate TestCafe and Cypress with other test frameworks, they have to depend on their inbuilt parallelization support. WebdriverIO supports parallelization.
- Running parallel tests in Cypress is a [paid](https://www.cypress.io/pricing/) service.
- Further optimisations can reduce the time taken for execution in Taiko. Users can choose to override implicit waits for a given action and define it explicitly in test code.

# 4\. Test framework integration

**The goal**: A testing library like Taiko must be able to take advantage of the rich testing oriented feature set provided by modern test frameworks like [Gauge](/content//?utm_source=how_taiko_blog&utm=medium=blog&utm_campaign=taiko_blogpost&utm_term=&utm_content=/index.html), [Mocha](https://mochajs.org/), and [Jest](https://jestjs.io/).

**Taiko's approach**

Taiko is a simple NodeJS library that can easily integrate with any Javascript test frameworks.

**Benefits**

- Avoiding vendor lock-in and increasing the portability of tests.
- Available for free. E.x., Gauge’s reporting, parallel execution, IDE support, integration with CD workflows, and more.

**Key Findings**

# 5\. Ease of test failure analysis

**The goal**: Tools must make it easy to collect contextual data to analyse test failures.

> _“The analysis part is normally done manually and if the analysis is not done correctly, there could be genuine failures that are overlooked or masked by other issues.” - [5 reasons why automated tests fail to find regression bugs](https://www.testingexcellence.com/reasons-automated-tests-fail-to-find-regression-bugs/)_

Failure analysis feature allows testers and developers to quickly find issues and fix test failures. Contextual data allows easier test failure analysis.

**Taiko’s approach**

Apart from the default data available on failure, more contextual data can be collected with custom plugins.

Taiko’s plugin architecture allows you to extend it in ways that suit your requirements.

**Benefits**

Users can use/ [build a plugin](https://github.com/getgauge/taiko/wiki/Taiko-Plugin/?utm_source=how_taiko_blog&utm=medium=blog&utm_campaign=taiko_blogpost&utm_term=&utm_content=) to suit the requirements to collect relevant data. Example:- screencast plugins capture video of the current run.

**Key Findings**

- _Since Selenium, Taiko and Puppeteer can integrate with any test framework they can take advantage of the framework’s debugging, IDE, CI/CD support and more._

- _The paid services of Cypress have more options for test failure analysis in CI/CD environments._

# 6\. Cross browser support

**The goal**: Ensure that tests run consistently across modern browsers.

Running tests across browsers adds significant overhead to both resources and test run times. We can avoid this overhead by choosing what to test. Modern Javascript applications, frameworks, shims and transpilers like babel do a good job of ensuring cross browser compatibility.

> Browsers are now starting to adopt standards for better web compatibility and less fragmentation of underlying web platforms

**Taiko’s approach**

Like Puppeteer, Taiko also uses the excellent [Chrome DevTools Protocol(CDP)](https://chromedevtools.github.io/devtools-protocol/) to automate browsers. Both work seamlessly with Chromium based browsers.

**Benefits**

[The next version of Microsoft Edge](https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium) is adopting the Chromium open source project. The Firefox team is working on adding support for CDP.

Taiko scripts are standards compliant and portable once browsers adopt these standards.

Below are the details of our key findings of the browsers supported with various tools.

**Key Findings**

# 7\. Number of languages supported to author test code

**The goal**: The language available for authoring tests should allow users to write tests expressively.

All the tools we’ve chosen for comparison, support either one or more programming languages to write tests. With first class support for commonly used programming languages, these tools can leverage the team’s capabilities as well as IDE support.

**Taiko’s approach**

Taiko only supports Javascript to author test code, because it’s built on top of CDP (Chrome DevTools protocol) and the best library for working with CDP is in JavaScript.

**Benefits**

- It works well with the [Node.js](https://nodejs.org/en/) ecosystem and frameworks like [React](https://reactjs.org/), [Angular](https://angularjs.org/) and [Vue.js](https://vuejs.org/)
- The team doesn’t have to learn a new language if they are building web applications
- Taiko can automate any part of the browser

**Key Findings**

# Other Observations

- **Cypress** has a paid service that gives you access to recorded tests when running Cypress tests from your [CI provider](https://docs.cypress.io/guides/guides/continuous-integration.html). The dashboard provides insights about test runs.
- **WebDriverIO** has support for integration with cloud platforms to aid cross browser testing under its [cloud services](https://webdriver.io/docs/cloudservices.html).
- **Puppeteer** has the best performance. However, testing is not the focus of Puppeteer. It is widely used for web scraping. When used to write tests, the learning curve is high.
- **Taiko** unlike a UI recorder, Taiko’s REPL takes instructions given in the terminal and performs the action on the browser. The user can continue to give instructions to complete a workflow. Only successful actions are recorded as a script. This generates human readable code and keeps the learning curve low.

# Summary

Here is the report of the tools comparison

Check [CompareBrowserAutomationTools](https://github.com/getgauge-contrib/compareBrowserAutomationTools), a GitHub repository to validate our claims made in this blog.

We hope you find this comparison summary useful! Through various examples listed above we can deduce that Taiko is a reliable, cost effective browser automation tool with a good performance. There will be pros and cons of using any tool. If you’ve come across a tool that isn’t in the comparison but solves a problem better, leave us a comment.

As always, the team welcomes any [feedback](https://github.com/getgauge/taiko/issues) that helps improve Taiko. You can [install Taiko](https://docs.taiko.dev/#quick-install) and explore more!

Disqus Comments

We were unable to load Disqus. If you are a moderator please see our [troubleshooting guide](https://docs.disqus.com/help/83/).

G

Join the discussion…

Comment

###### Log in with

###### or sign up with Disqus  or pick a name

### Disqus is a discussion network

- Don't be a jerk or do anything illegal. Everything is easier that way.

[Read full terms and conditions](https://docs.disqus.com/kb/terms-and-policies/)

This comment platform is hosted by Disqus, Inc. I authorize Disqus and its affiliates to:

- Use, sell, and share my information to enable me to use its comment services and for marketing purposes, including cross-context behavioral advertising, as described in our [Terms of Service](https://help.disqus.com/customer/portal/articles/466260-terms-of-service) and [Privacy Policy](https://disqus.com/privacy-policy), including supplementing that information with other data about me, such as my browsing and location data.
- Contact me or enable others to contact me by email with offers for goods or services
- Process any sensitive personal information that I submit in a comment. See our [Privacy Policy](https://disqus.com/privacy-policy) for more information

Acknowledge I am 18 or older

- [4](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default# "Favorite this discussion")

- ## Discussion Favorited!

Favoriting means this is a discussion worth sharing. It gets shared to your followers' Disqus feeds, and gives the creator kudos!

[Find More Discussions](https://disqus.com/home/?utm_source=disqus_embed&utm_content=recommend_btn)

[Share](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)

- Tweet this discussion
  - Share this discussion on Facebook
  - Share this discussion via email
  - Copy link to discussion

- [Best](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)
  - [Newest](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)
  - [Oldest](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)

- - [−](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default# "Collapse")
  - [+](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default# "Expand")
  - [Flag as inappropriate](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default# "Flag as inappropriate")

Excellent comparations. Thank you for sharing this out.

I'm just concerned about testing in different browsers. You said that Firefox and Microsft Edge are walking to using CDP, but what about others like Opera, Safari?

Thank you again!

see more

Opera is based on Blink and Chromium so technically Taiko should work with Opera. However, there are a few issues while running some tests, will take a look at fixing that soon.

Safari does not have good support for CDP nor are they planning to add it anytime soon.

see more

could you plz suggest how to launch chrome browser with taiko. i have no idea how to other browser than chromium.

see more

S

Please refer the issue [https://github.com/getgauge...](https://github.com/getgauge/taiko/issues/246 "https://github.com/getgauge/taiko/issues/246")

see more

[Show more replies](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)

S

Very interesting. Great comparison chart at the end for quick reference.

see more

Even if I don't plan to use Taiko, the comparison between available testing solutions is very useful to gauge my current choice. I did not see any mocking capability mentioned though, does Taiko address that? For example, TestCafe allows to proxy HTTP requests, which I use to mock environments too complex to deploy for tests.

see more

S

Yes you can stub and mock requests. Here is a link that you may find useful [https://taiko.gauge.org/#re...](https://taiko.gauge.org/#request-response "https://taiko.gauge.org/#request-response"). Thanks

see more

W

Do you have any idea of ​​how many and which companies use taiko in their daily lives?

see more

How to make use of lighthouse feature in chrome using Taiko? Any suggestions?

see more

S

Taiko diagnostics, and taiko accessibility in [https://docs.taiko.dev/plug...](https://docs.taiko.dev/plugins/ "https://docs.taiko.dev/plugins/") are examples. Hope you find it useful. Thanks

see more

Interesting that didn't include protractor for the perf test. I guess there are lots of others though as you say. I recommend checking out Courgette [https://courgette-testing.com](https://courgette-testing.com/ "https://courgette-testing.com") which pairs cucumber and protractor for web / wdio for native mobile testing and contains a ton of time saving things in it

see more

H

Language support (for writing tests) - Any plan for Typescript support in the future?

see more

Please refer [https://github.com/getgauge...](https://github.com/getgauge/taiko/issues/209 "https://github.com/getgauge/taiko/issues/209") for updates. There's a link to bindings.

see more

Hi. would you mind including a comparison of Gwen in here or for future evaluations of web automation tools? It would help getting a non biased review. [https://github.com/gwen-int...](https://github.com/gwen-interpreter/gwen-web "https://github.com/gwen-interpreter/gwen-web")

see more

Gwen is based on Selenium. So it should be like comparing it to Selenium in the article here.

see more

+1 for Karate:

[View](https://twitter.com/ptrthomas/status/1185212072633569280 "Twitter – Peter Thomas on Twitter") [Hide](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)

Twitter Embed

[Visit this post on X](https://x.com/ptrthomas/status/1185212072633569280?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c)

[Peter Thomas](https://twitter.com/ptrthomas)

[@ptrthomas](https://twitter.com/ptrthomas)

·

[Follow](https://x.com/intent/follow?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c&screen_name=ptrthomas)

[View on X](https://x.com/ptrthomas/status/1185212072633569280?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c)

found this article + code comparing browser automation tools: [https://gauge.org/2019/08/21/how-taiko-compares-to-other-browser-automation-tools/…](/content/2019/08/21/how-taiko-compares-to-other-browser-automation-tools/index.html)

had to make some minor changes to Karate (dev branch) but here is how we compare to Taiko - "friendly locators" and all

gist: [https://gist.github.com/ptrthomas/ac04f3501f608534f588d4e539b804c5…](https://gist.github.com/ptrthomas/ac04f3501f608534f588d4e539b804c5)

link to video in next tweet / thread

[3:12 PM · Oct 18, 2019](https://x.com/ptrthomas/status/1185212072633569280?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c)

[X Ads info and privacy](https://help.x.com/x-for-websites-ads-info-and-privacy)

[8](https://x.com/intent/like?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c&tweet_id=1185212072633569280) [Reply](https://x.com/intent/tweet?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c&in_reply_to=1185212072633569280)

Copy link

[Read 2 replies](https://x.com/ptrthomas/status/1185212072633569280?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1185212072633569280%7Ctwgr%5E20ba9c5dddc8fd2d3651e85c633da0fd172b6c5b%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fdisqus.com%2Fembed%2Fcomments%2F%3Fbase%3Ddefaultf%3Dgaugeblogt_i%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_u%3Dhttps3A2F2Fwww.gauge.org2F20192F082F212Fhow-taiko-compares-to-other-browser-automation-toolst_d%3DHow20Taiko20compares20to20other20browser20automation20toolst_t%3DHow20Taiko20compares20to20other20browser20automation20toolss_o%3Ddefaultversion%3D6a1aabb94f5e0fb7334f0cd7f5a7679c)

see more

[Load more comments](https://disqus.com/embed/comments/?base=default&f=gaugeblog&t_i=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_u=https%3A%2F%2Fwww.gauge.org%2F2019%2F08%2F21%2Fhow-taiko-compares-to-other-browser-automation-tools&t_d=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&t_t=How%20Taiko%20compares%20to%20other%20browser%20automation%20tools&s_o=default#)

Twitter Widget Iframe
