<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Donovan Price</title>
    <description>The latest articles on DEV Community by Donovan Price (@donovanprice).</description>
    <link>https://dev.to/donovanprice</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F411119%2Fa56a4a3e-cadb-4300-a695-44d785d2f115.png</url>
      <title>DEV Community: Donovan Price</title>
      <link>https://dev.to/donovanprice</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/donovanprice"/>
    <language>en</language>
    <item>
      <title>You can tell that DEV.TO uses Cypress for testing</title>
      <dc:creator>Donovan Price</dc:creator>
      <pubDate>Wed, 17 Jun 2020 16:38:10 +0000</pubDate>
      <link>https://dev.to/donovanprice/you-can-tell-that-dev-to-uses-cypress-for-testing-45ip</link>
      <guid>https://dev.to/donovanprice/you-can-tell-that-dev-to-uses-cypress-for-testing-45ip</guid>
      <description>&lt;p&gt;I'm tired of telling people to stop using Cypress for testing. 🙄&lt;/p&gt;

&lt;p&gt;DEV Community is using Cypress to test their website. &lt;/p&gt;

&lt;p&gt;This is how it looks in Internet Explorer 11:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FoO_FBhp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nos2tbx83fpyoyra90bg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FoO_FBhp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nos2tbx83fpyoyra90bg.png" alt="dev.to internet explorer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is how it looks in Safari:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YCbknV6S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/85vzxa270i8leffdos0n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YCbknV6S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/85vzxa270i8leffdos0n.png" alt="dev.to Safari"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why you should not use Cypress:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It does not work on Safari.&lt;/li&gt;
&lt;li&gt;It does not work on Internet Explorer.&lt;/li&gt;
&lt;li&gt;It does not work on mobile browsers.&lt;/li&gt;
&lt;li&gt;It cannot handle multiple browser tabs.&lt;/li&gt;
&lt;li&gt;It's nearly impossible to make it work with iframes.&lt;/li&gt;
&lt;li&gt;It's nearly impossible to test file uploads.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are also other technical reasons, mostly related to bad architecture, like the fact that it runs inside JavaScript instead of calling the browser APIs from outside of the browser.&lt;/p&gt;

&lt;p&gt;Even if your users are tech savvy and they're all using Chrome, having a website that doesn't work in other browsers just makes you look like an amateur. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The dirty tactics used by Cypress:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Sadly, Cypress is tolerated on DEV Community. &lt;/p&gt;

&lt;p&gt;If you mention anything bad about Cypress, the Cypress Ambassadors will report your article or your comment. &lt;/p&gt;

&lt;p&gt;Cypress is a for-profit corporation that label themselves as "open source", abusing buzzwords like "community".&lt;/p&gt;

&lt;p&gt;There is no community behind Cypress, just a huge Marketing budget. &lt;/p&gt;

&lt;p&gt;They're trying so hard that they even removed the &lt;a href="https://www.cypress.io/pricing/"&gt;Pricing&lt;/a&gt; link from their homepage, to give you the impression that it's 100% free. &lt;/p&gt;

&lt;p&gt;Did you ever read an article where someone was saying that Selenium is outdated and causes flaky tests and promoted Cypress as being the better alternative?&lt;/p&gt;

&lt;p&gt;If you would search for that article again, you will see that it was most likely written by a Cypress Ambassador, technical people who are paid to spam about Cypress all over the internet.&lt;/p&gt;

&lt;p&gt;Speaking of articles, you should bookmark this one and check in a few days to see if it's still here. It will probably be deleted and my account will be silenced. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is the alternative?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Cypress folks will tell you that every tool has drawbacks, but that's not true.&lt;/p&gt;

&lt;p&gt;That's actually just something they're saying in order to justify their awful solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.selenium.dev/"&gt;Selenium&lt;/a&gt; is 100% open source and free, there is no extra service that you need to purchase. &lt;/p&gt;

&lt;p&gt;Selenium works on all major browsers and mobile devices. &lt;/p&gt;

&lt;p&gt;It supports multiple browser tabs, iframes and file uploads. &lt;/p&gt;

&lt;p&gt;If you don't want to execute Selenium tests on your own machine, you can connect them to external grids like &lt;a href="https://browserstack.com"&gt;BrowserStack&lt;/a&gt; and &lt;a href="https://saucelabs.com"&gt;Sauce Labs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you're looking for a faster way to build tests and execute them on a cross-browser cloud, you might also want to try &lt;a href="https://endtest.io"&gt;Endtest&lt;/a&gt; or &lt;a href="https://mabl.com"&gt;Mabl&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
