<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Playwright on Yunier&#39;s Wiki</title>
    <link>http://localhost:1313/tags/playwright/</link>
    <description>Recent content in Playwright on Yunier&#39;s Wiki</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 05 Jun 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://localhost:1313/tags/playwright/rss" rel="self" type="application/rss+xml" />
    <item>
      <title>Running Lighthouse On CI/CD Pipeline</title>
      <link>http://localhost:1313/post/2021/running-lighthouse-in-cicd-pipeline/</link>
      <pubDate>Sat, 05 Jun 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/running-lighthouse-in-cicd-pipeline/</guid>
      <description>&lt;p&gt;In the world of front end development there is no better tool than &lt;a href=&#34;https://developers.google.com/web/tools/lighthouse/&#34;&gt;Lighthouse&lt;/a&gt;. Lighthouse is an open-source, automated tool for improving the quality of web pages. You can run it against any web page, public or requiring authentication. It has audits for performance, accessibility, progressive web apps, SEO and more.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://developers.google.com/web/tools/lighthouse/images/report.png&#34; alt=&#34;Report generated by lighthouse&#34;  /&gt;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;The only problem with lighthouse, at least from my experience, is that it is not used until after the app has been deployed. I haven&amp;rsquo;t been involved in any project that utilizes lighthouse upfront, certainly not on the ci/cd pipelines. Which can be done using &lt;a href=&#34;https://github.com/GoogleChrome/lighthouse-ci&#34;&gt;lighthouse-ci&lt;/a&gt;. There is also another way to get lighthouse running on your ci/cd pipeline, it involves executing lighthouse while you are running your unit test regardless of the unit test engine, be that &lt;a href=&#34;https://github.com/facebook/jest&#34;&gt;Jest&lt;/a&gt; or &lt;a href=&#34;https://github.com/mochajs/mocha&#34;&gt;Mocha&lt;/a&gt;. However, these tools lack the ability to invoke a web browser, after all, lighthouse can only be run against an actual website.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Accessibility Testing in Playwright</title>
      <link>http://localhost:1313/post/2021/accessibility-testing-with-playwright/</link>
      <pubDate>Sat, 13 Mar 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/accessibility-testing-with-playwright/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t believe I&amp;rsquo;ve mention this before here, but I am a huge fan of &lt;a href=&#34;https://hey.com/&#34;&gt;Hey&lt;/a&gt;. By far the &lt;strong&gt;best&lt;/strong&gt; email service I have ever used. What makes Hey even cooler is the team behind Hey sharing they engineering approach to different problems. Be that through various &lt;a href=&#34;https://twitter.com/dhh/status/1275901955995385856&#34;&gt;tweets&lt;/a&gt; or blog post like &lt;a href=&#34;https://acloudguru.com/blog/engineering/scaling-the-hottest-app-in-tech-on-aws-and-kubernetes&#34;&gt;Scaling the hottest app in tech on AWS and Kubernetes&lt;/a&gt; which outline how they use k8s. Recently, they shared how to tackle ay11 under &lt;a href=&#34;https://world.hey.com/michael/hey-accessibility-is-a-lot-of-work-785ec5cf&#34;&gt;hey accessibility is a lot of work&lt;/a&gt;. One thing that stood out was to me was their usage of &lt;a href=&#34;https://github.com/dequelabs/axe-core&#34;&gt;axe-core&lt;/a&gt;. Axe-core is an accessibility engine for automated Web UI testing. Which reminded me of &lt;a href=&#34;https://playwright.dev/&#34;&gt;playwright&lt;/a&gt;, so I started to wonder if the two could be combined, turns out they can be. Let&amp;rsquo;s explore how to do that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing Web Apps With Playwright</title>
      <link>http://localhost:1313/post/2021/testing-webapps-with-playwright/</link>
      <pubDate>Thu, 18 Feb 2021 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/post/2021/testing-webapps-with-playwright/</guid>
      <description>&lt;p&gt;A few weeks ago I was looking for an end-to-end testing framework. An alternative to &lt;a href=&#34;https://www.selenium.dev/&#34;&gt;Selenium&lt;/a&gt;, and all the other end-to-end frameworks. I came across a project called &lt;a href=&#34;https://playwright.dev/&#34;&gt;Playwright&lt;/a&gt;. Playwright is a new end-to-end framewrok created and maintained by Microsoft, it allows you to test web applications on different browsers. Some the major feature it provides are as follows.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Playwright has full API coverage for all modern browsers, including Google Chrome and Microsoft Edge (with Chromium), Apple Safari (with WebKit) and Mozilla Firefox.&lt;/li&gt;&#xA;&lt;li&gt;Supports multiple languages like Node.js, Python, c# and Java.&lt;/li&gt;&#xA;&lt;li&gt;First-party Docker image and GitHub Actions to deploy tests to your preferred CI/CD provider.&lt;/li&gt;&#xA;&lt;li&gt;Use device emulation to test your responsive web apps in mobile web browsers.&lt;/li&gt;&#xA;&lt;li&gt;Provides APIs to monitor and modify network traffic, both HTTP and HTTPS. Any requests that page does, including XHRs and fetch requests, can be tracked, modified and handled.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;While those feature are all great and useful, they don&amp;rsquo;t measure up to what I consider to be the best feature of Playwright. That is being able to create and execute test as easily as unit tests. You can also leverage tools like &lt;a href=&#34;https://www.qawolf.com/&#34;&gt;qa wolf&lt;/a&gt; and &lt;a href=&#34;https://github.com/checkly/headless-recorder&#34;&gt;headless-recorder&lt;/a&gt;, these tools record any action you take on the browser, those actions are then converted into Playwright scripts.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
