<?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: Deepa Subramanian</title>
    <description>The latest articles on DEV Community by Deepa Subramanian (@sdkdeepa).</description>
    <link>https://dev.to/sdkdeepa</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%2F582775%2F839f6a8b-260a-4a45-a923-879db76e594a.png</url>
      <title>DEV Community: Deepa Subramanian</title>
      <link>https://dev.to/sdkdeepa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sdkdeepa"/>
    <language>en</language>
    <item>
      <title>VScode zsh command not found</title>
      <dc:creator>Deepa Subramanian</dc:creator>
      <pubDate>Tue, 15 Jun 2021 06:06:13 +0000</pubDate>
      <link>https://dev.to/sdkdeepa/vscode-zsh-command-not-found-4fn8</link>
      <guid>https://dev.to/sdkdeepa/vscode-zsh-command-not-found-4fn8</guid>
      <description>&lt;p&gt;How to fix this error inside VScode? &lt;/p&gt;

&lt;p&gt;Go to your Mac terminal and run the following commands&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;

&lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nx"&gt;which&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt;
&lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;  &lt;span class="c1"&gt;// don't forget the dot after "code"&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;New window open with VSCode prompting if vscode can access all the folder. Select "YES". You are done. Relaunch VSCode again, now try Ctrl + ~ to launch a new zsh terminal.&lt;/p&gt;

&lt;p&gt;Note: This is the fix I found after upgrading to MacOS BigSur. VSCode was working before the OS upgrade for me. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxrtpy7xo0zxwnzzxm0b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxrtpy7xo0zxwnzzxm0b.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>macosbigsur</category>
      <category>vscode</category>
      <category>zsh</category>
    </item>
    <item>
      <title>Puppeteer Web Automation</title>
      <dc:creator>Deepa Subramanian</dc:creator>
      <pubDate>Sat, 01 May 2021 09:14:54 +0000</pubDate>
      <link>https://dev.to/sdkdeepa/puppeteer-web-automation-198</link>
      <guid>https://dev.to/sdkdeepa/puppeteer-web-automation-198</guid>
      <description>&lt;h1&gt;
  
  
  What is Puppeteer?
&lt;/h1&gt;

&lt;p&gt;Google launched puppeteer in 2017. Puppeteer is a powerful library which provides an API to control headless Chrome or Chromium over the DevTools Protocol. &lt;/p&gt;

&lt;h1&gt;
  
  
  What can it do?
&lt;/h1&gt;

&lt;p&gt;Puppeteer can be used for automating all the manual or GUI interactions. When it comes to debugging, this tool becomes any developer's choice.&lt;/p&gt;

&lt;h1&gt;
  
  
  How does it work?
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0ttxfjzh69ulet70mj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0ttxfjzh69ulet70mj.png" alt="Alt Text" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Why choose Puppeteer?
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Puppeteer requires zero setup. Comes with chromium version making it very easy to start with. &lt;/li&gt;
&lt;li&gt;It has event-driven architecture which removes potential flakiness. So, there’s no need to add unnecessary wait and sleep times.&lt;/li&gt;
&lt;li&gt;Puppeteer runs headless by default which makes it super fast.&lt;/li&gt;
&lt;li&gt;Puppeteer v1.5.0 also exposes browser contexts, making it possible to efficiently parallelize test execution.&lt;/li&gt;
&lt;li&gt;Run in a Docker container or serverless environment.&lt;/li&gt;
&lt;li&gt;Intercept network requests.&lt;/li&gt;
&lt;li&gt;Dev tools can be used to capture performance info and can run commands in the console.&lt;/li&gt;
&lt;li&gt;Test a Chrome extension.&lt;/li&gt;
&lt;li&gt;Analyze JS bundle using the analyzer available. &lt;/li&gt;
&lt;li&gt;Emulate mobile viewports. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed&lt;/strong&gt;: Puppeteer has almost zero performance overhead over an automated page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security&lt;/strong&gt;: Puppeteer operates off-process with respect to Chromium, making it safe to automate potentially malicious pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stability&lt;/strong&gt;: Puppeteer should not be flaky and should not leak memory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simplicity&lt;/strong&gt;: Puppeteer provides a high-level API that’s easy to use, understand, and debug.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  How it can be used for test automation?
&lt;/h1&gt;

&lt;p&gt;Using Puppeteer you can launch web pages, make UI navigations, take screenshots and generate pdf's. Pupetteer can be used with testing framework such as Jest, Mocha or make your own test framework too! It works well with Chai assertion library.&lt;/p&gt;

&lt;h1&gt;
  
  
  What ways this tool could help your team?
&lt;/h1&gt;

&lt;p&gt;Puppeteer is the go-to tool for automation if speed and performance of automated tests are more important than portability and compatibility.&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Puppeteer works seamlessly with single-page applications.&lt;/li&gt;
&lt;li&gt;It creates an up-to-date, automated testing environment by  directly in the latest version of Chrome using the latest JavaScript and browser features.&lt;/li&gt;
&lt;li&gt;Supports FireFox(beta).&lt;/li&gt;
&lt;li&gt;Supports parallel execution.&lt;/li&gt;
&lt;li&gt;Crawl a SPA (Single-Page Application) and generate pre-rendered content (i.e. "SSR" (Server-Side Rendering)).&lt;/li&gt;
&lt;li&gt;Capture a timeline trace of your site to help diagnose performance issues.&lt;/li&gt;
&lt;li&gt;If you are looking for Speed, stability, security and simple tool, then puppeteer is the best choice.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Puppeteer does not support the following
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Cross browser compatibility testing&lt;/li&gt;
&lt;li&gt;Does not support licensed formats such as AAC or H.264 media formats&lt;/li&gt;
&lt;li&gt;Puppeteer does not support HTTP Live Streaming (HLS).&lt;/li&gt;
&lt;li&gt;Does not support multiple languages, supports only JavaScript. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;More details about test frame work and tests: &lt;br&gt;
Jest framework - &lt;a href="https://github.com/sdkdeepa/pptr-testframework" rel="noopener noreferrer"&gt;https://github.com/sdkdeepa/pptr-testframework&lt;/a&gt; &lt;br&gt;
Mocha-chai - &lt;a href="https://github.com/sdkdeepa/pptr-mocha" rel="noopener noreferrer"&gt;https://github.com/sdkdeepa/pptr-mocha&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
