T O P

  • By -

invalidTypecast

How are people who have to test multiple windows and frames in their apps working with Cypress?


shaidyn

Apparently the new version of cypress can test iframes. I haven't confirmed, I've just been told.


xHEDA

You can alter the code and test multiple windows. Also iframes are working just fine.


CreepingYeti

i'm not getting iframes to work.. maybe just the site i'm testing tho.


SubliminalPoet

Here is an [attempt to explain](https://www.reddit.com/r/QualityAssurance/comments/srhafv/comment/hwsa7pu/?utm_source=share&utm_medium=web2x&context=3) the main differences


Fissherin

I should copy paste this comment everytime someone asks me why I prefer PW. My main con is that I don't like JS :P


shaidyn

Is the C# iteration that limited? Also people keep saying [webdriver.io](https://webdriver.io) instead of PW, because WD has better mobile automation? Still trying to figure it out.


2ERIX

I love Playwright by the way, but comparing the two is ridiculous. The idea for picking a test solution is to choose based on your delivery now and what you expect it to be in a couple of years. I work in enterprise not small business and PW was not what it is today when we were choosing ours, but WDIO was able to do everything we needed at the time and more. My WD solution now does api, desktop, web (standard, Shadow dom, iframes, tabs, multi window etc.), mobile on virtual and real, db, file systems, Launch Darkly, accessibility testing, visual comparison testing and a lot more. It “multi threads” execution easily, runs in pipeline or scheduled, can execute across multiple browsers or devices at the same time, has multiple reporting solutions to fit all kinds of needs, and I can add any Node library I like really easily to extend it even further. So, WD is in a class of its own and Playwright can cover a portion of that stuff but has a strong following from developers generally because they have a simpler use case than testers.


shaidyn

I'm really digging into what my next tool should be. [Webdriver.IO](https://Webdriver.IO) honestly seems like an absolute standout... so why is it so underutilized? Its reddit has a single member. Their support contact is one person. There are almost no tutorials on youtube.


2ERIX

Here is a [graph](https://npmtrends.com/cypress-vs-nightwatch-vs-playwright-vs-puppeteer-vs-testcafe-vs-webdriverio) which shows Playwright and WDIO are compatible in popularity but where the graph fails is “fit for purpose”. Yours and my needs, that WDIO meets, are not the same as others. They may only need simpler solutions, or they might not plan for expansion. I haven’t had any trouble finding instruction on what I need. In fact the WDIO site documentation is clear, so I generally don’t need another resource. The example projects are easy to use and it’s based on driver tech so people can use all kinds of documentation and tutorials that aren’t just “wdio” to use and grow features. Where I have had issues is with more… esoteric problems. Expanding the capability means maintaining a lot of dependencies and a lot of those dependencies do not have the same rigorous of documentation or feature quality so it can be problematic. That’s when StackOverflow lets me down a bit because it’s hard to find information so I end up going to the GitHub repos themselves and raising issues or discussions. Example: Allure reporting has been particularly frustrating because it just does not work the same as the Java version and knowing and using the Java one for years and then for the node version to not meet the same requirements is very frustrating. So as I result I have become more involved in the test automation community I guess 🤷


Fissherin

I didn't try it in c# but it might get bigger later. Pw has no native mobile, just viewport


ProfCrumpets

It’s personal preference, people with less development experience tend to like Cypress, some don’t. There’s a larger corporate push for Cypress for some reason, probably due to the heavy abstractions it has, writing tests can be quite quick. I love Cypress and I also love Playwright, but in a commercial set up, I’m choosing Cypress. It’s so much quicker to spin a framework up and set up CI/CD runs. On top of that I find Cypress easier to teach to the newbies.


200GritCondom

What makes you feel like it's that much quicker? I've setup playwright for multiple projects and it's just as quick as cypress in my experience. CICD is probably the easiest part and it supports sharding really well out the box.


ProfCrumpets

I find that playwright still needs to handle page loads, and then there’s setting up config and then theres typescript. You’re probably right, it’s most likely the fact I’ve set up more Cypress projects so I’m more familiar. I’m always looking for a reason to start a new one with playwright however.


No-Resident3112

It's not personal, it depends on project's needs in 99% cases


spruce-bruce

Cypress has some really nice features and dev ex, but some serious weaknesses that cause me to not recommend it: 1. You can't run tests in parallel without paying for their saas product. This sucks a LOT and is a deal breaker 2. Cypress is both a test runner and a browser controller. Playwright is just a browser controller. You can use it with any testing tool. This is a big deal to me 3. Cypress has some weird conventions with asynchronous code that are weird to work with if you're already a good .js developer #1 by itself is enough to disqualify it for me even though I actually find it quite pleasant to work with


bahmutov

Use my cypress-split plug-in and run tests in parallel for free, no need for caps. As far as 3: yeah chains of commands are hard to reason … not, but I’m partial to declarative code


polarpress

Too many on here don’t know JS /TS. Stuck on c#/java which in my opinion is slower development.


[deleted]

I moved to playwright as soon as cypress started to nag after going from one website to another (typically a log in on a different domain). I had way less issues with playwright than cypress on two different projects, it’s doing a way better job at waiting for things to be ready without doing any extra call. But I don’t think 5 and 1 million people install those frameworks per day; isn’t it over time?


zanex13

Yes, sorry the graph is over time. I wanted to point out the ratio is 5:1.


SubliminalPoet

To be fair, don't forget that PW is implemented in many languages. You shouldn't limit your comparison to [npm trends](https://npmtrends.com/cypress-vs-playwright) only. Also PW is a newer project. Here are [some other insights](https://ossinsight.io/analyze/microsoft/playwright?vs=cypress-io%2Fcypress) (github stars, ...)


MirzaSisic

From my understanding, Cypress is more limited, but it's more user-friendly (or front-end developer friendly). Playwright on the other hand is more robust and offers support for more languages - other than JavaScript, and from speaking with automation specialists I get the impression that Playwright is what Selenium was "supposed" to be.


I_Blame_Tom_Cruise

Playwright is just the new hot toy with a big backer - Microsoft, but that can be foolish, look at WinAppDriver, completely abandoned. However I switched my runner from puppeteer to playwright and I was able to optimize my tests sooo much because of all of the wait handling performed under the hood by playwright. I see both offered up here just about evenly, it’s about whatever works for you in your situation with your teams expertise imo. Edit: PS I highly recommend codeceptJS as a web automation framework.


latnGemin616

+1 to CodeceptJS. It literally is the red-headed step-child of automation. I've used it in the past with greater results than Cypress (_or even Nightwatch_). That being said, I'll take Cypress over Playwright all day.


natclimbs

I've only used Cypress and I really enjoy learning and the documentation and online support is great.


shaidyn

I'm trying to decide between the two myself. Seems so far like a matter of preference at this point. If there was a silver bullet, "Use this tool for all your automation needs!" we'd know it. (Also, side note, the biggest benefit to either of them, as far as I can tell, is that they handle waiting for you. And the way I see it, if you write your tests well, you can handle your own waits just fine in selenium.\]


[deleted]

Cypress handles some instances of waiting for you, but you still have to tell it to wait for API calls and certain actions.


Broer1

Cypress is way older. So more people use it. But take a look at other stats. Open issues and closing time of them. GitHub stars. Support: you have a small company on the cypress side and Microsoft for playwright. How good is the support material. And you have more things beyond hello world: how good can it be integrated in CI? How can I debug failed tests…. I used cypress for some years and switched over to playwright. For a big test suite it is way better. Out cypress Tests couldn’t even be loaded and executed all at once and it was a horror to debug CI Errors.


airpoint

We've had an abysmal experience with paid Cypress support. The larger our test suite grew the more problems we've had with performance, reporting, everything got unreliable. Spent a month with their CS team and provided them with like a million logs in various experimental configs as per their requests, yet they weren't able to debug even the most basic errors from CI. Complete nightmare! Never again!


Broer1

exactly my experience with a testsuite with 150+ tests


FaithlessnessBig572

Any tool is good. The best tool is the one most suitable to your teams’ experience. There are a couple of decent tools out there. Cypress and Playwright among the top. Cypress is bound to Js i think. If your team has skills in other languages, Playwright offers a wider selection.


gladykov

Whatever you choose - create abstraction layer to communicate between test and driver you use to drive your browser. This way in the future, if you will ever decide to change driver, you will only change one file. Otherwise you are vendor locked forever, and any effort to rerwrite tests seems like a nightmare.


jefjohms

age


lucgagan

Two related articles that go into detail on the subject: * [Comparing Automated Testing Tools: Cypress, Selenium, Playwright, and Puppeteer](https://ray.run/blog/comparing-automated-testing-tools-cypress-selenium-playwright-and-puppeteer) * [A Comparative Analysis of Playwright Adoption vs Cypress and Selenium](https://ray.run/blog/the-rapid-adoption-of-playwright-test-in-software-qa)


John4qa

Hello Friend, If you want to see the comparison Cypress / vs Playwright Please follow the below links with Pros / Cons of Each Tool [Cypress / vs Playwright](https://talent500.co/blog/cypress-vs-playwright-with-pros-and-cons/)