<?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: Joan Esquivel</title>
    <description>The latest articles on DEV Community by Joan Esquivel (@joanesquivel).</description>
    <link>https://dev.to/joanesquivel</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%2F900311%2F5ba36df6-254d-44bf-9781-57c3ea1b8c49.png</url>
      <title>DEV Community: Joan Esquivel</title>
      <link>https://dev.to/joanesquivel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/joanesquivel"/>
    <language>en</language>
    <item>
      <title>Automated Mobile Testing</title>
      <dc:creator>Joan Esquivel</dc:creator>
      <pubDate>Tue, 04 Oct 2022 01:38:44 +0000</pubDate>
      <link>https://dev.to/joanesquivel/automated-mobile-testing-ldl</link>
      <guid>https://dev.to/joanesquivel/automated-mobile-testing-ldl</guid>
      <description>&lt;h1&gt;
  
  
  Mobile Automation
&lt;/h1&gt;

&lt;p&gt;Mobile testing is the process where applications for modern mobile devices are tested for functionality, usability, performance and more.&lt;/p&gt;

&lt;p&gt;Let me give you an overview about the most used tools in the market, and also a couple of video references where you can learn how to start your automation mobile testing jorney.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    * Appium&lt;br&gt;
    * Appium Inspector&lt;br&gt;
    * Webdriver.IO&lt;br&gt;
    * Android Automated Testing step by step&lt;br&gt;
    * IOS Automated Testing step by step&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Appium &lt;a&gt;&lt;/a&gt;&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Appium is an open source test automation framework for use with native, hybrid and mobile web apps.&lt;/p&gt;

&lt;p&gt;Appium aims to automate any mobile app from any language and any test framework, with full access to back-end APIs and DBs from test code. Write tests with your favorite dev tools using all the above programming languages, and probably more (with the Selenium WebDriver API and language-specific client libraries).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://appium.io/"&gt;Check More about Appium&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Appium Inspector &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A GUI inspector for mobile apps and more, powered by a (separately installed) Appium server. When you're using it to inspect a mobile app, it looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--61n8riks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/appium/appium-inspector/main/docs/inspector-window.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--61n8riks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/appium/appium-inspector/main/docs/inspector-window.png" alt="Appium Inspector Snapshot" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Appium Inspector is basically just an Appium client (like WebdriverIO, Appium's Java client, Appium's Python client, etc...) with a user interface. There's an interface for specifying which Appium server to use, which capabilities to set, and then interacting with elements and other Appium commands once you've started a session.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/appium/appium-inspector"&gt;Check More about Appium Inspector&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Webdriver.io Framework &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;WebdriverIO is a progressive automation framework built to automate modern web and mobile applications. It simplifies the interaction with your app and provides a set of plugins that help you create a scalable, robust and stable test suite.&lt;/p&gt;

&lt;p&gt;It is designed to be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extendable - Adding helper functions, or more complicated sets and combinations of existing commands is simple and really useful&lt;/li&gt;
&lt;li&gt;Compatible - WebdriverIO can be run on the WebDriver Protocol for true cross-browser testing as well as Chrome DevTools Protocol for Chromium based automation using Puppeteer.&lt;/li&gt;
&lt;li&gt;Feature Rich - The huge variety of built-in and community plugins allows you to easily integrate and extend your setup to fulfill your requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can use WebdriverIO to automate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 modern web applications written in React, Vue, Angular, Svelte or other frontend frameworks&lt;/li&gt;
&lt;li&gt;📱  hybrid or native mobile applications running in an emulator/simulator or on a real device&lt;/li&gt;
&lt;li&gt;💻 native desktop applications (e.g. written with Electron.js)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://webdriver.io/docs/what-is-webdriverio"&gt;Check More about WebDriver.IO&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Android Automated Testing step by step &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In the following video you are going to learn how to setup Appium + WDIO to automate your very first test script for an Android Application using a simulator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=KN1sTvvX0mM&amp;amp;t=2569s"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XqezV-V_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/KN1sTvvX0mM/hqdefault.jpg%3Fsqp%3D-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg%3D%3D%26rs%3DAOn4CLBgoIVXC8QqNpzuuw9sdzSkOos1lg" alt="ANDROID TESTING VIDEO" width="246" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  IOS Automated Testing step by step &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In the following video you are going to learn how to setup Appium + WDIO to automate your very first test script for an IOS Application using a simulator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Q5Oy8axA8Qw&amp;amp;ab_channel=JoanMedia"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pFvp4iMV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.ytimg.com/vi/Q5Oy8axA8Qw/hqdefault.jpg%3Fsqp%3D-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg%3D%3D%26rs%3DAOn4CLBoa-PxuNR5xJ0U8NM4J0sigtqwgg" alt="IOS TESTING VIDEO" width="246" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hope you find this article useful! &lt;/p&gt;

&lt;p&gt;Joan.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>testing</category>
      <category>mobile</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Cypress 10+ &amp; Cucumber</title>
      <dc:creator>Joan Esquivel</dc:creator>
      <pubDate>Mon, 01 Aug 2022 08:32:47 +0000</pubDate>
      <link>https://dev.to/joanesquivel/cypress-10-cucumber-14ig</link>
      <guid>https://dev.to/joanesquivel/cypress-10-cucumber-14ig</guid>
      <description>&lt;p&gt;I see people having headaches trying to integrate Cypress and Cucumber. So, I decided to create a couple of videos to explain how to integrate both of them, and how to get a BDD report at the end of the execution. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- Install the right cucumber dependency&lt;/strong&gt;&lt;br&gt;
As you can see in the following video, I'll be using the &lt;a href="https://www.npmjs.com/package/@badeball/cypress-cucumber-preprocessor"&gt;cypress-cucumber-preprocessor&lt;/a&gt; dependency, which is the best option available in the market right now. &lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FlQ9Carxeds"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- Generate HTML reports with a simple add-on&lt;/strong&gt;&lt;br&gt;
You'll need to download a json formatter as I explain in the video. Also, some extra configurations in the cucumber config file. Check it out: &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/5AGXK9cL2fs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;If you want to clone the repo, just access it here: &lt;a href="https://github.com/JoanEsquivel/cypress-cucumber-boilerplate"&gt;Cucumber-Boilerplate-Project&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>cypress</category>
      <category>cucumber</category>
      <category>testing</category>
    </item>
    <item>
      <title>Cypress 10+ &amp; Mochawesome Reporter</title>
      <dc:creator>Joan Esquivel</dc:creator>
      <pubDate>Mon, 01 Aug 2022 08:18:01 +0000</pubDate>
      <link>https://dev.to/joanesquivel/cypress-10-mochawesome-reporter-19d6</link>
      <guid>https://dev.to/joanesquivel/cypress-10-mochawesome-reporter-19d6</guid>
      <description>&lt;p&gt;There are different report solutions for Cypress E2E tests using Javascript or Typescript. However, there is a library that print the results in an styled HTML with emmbeded screenshots, that provides a lot of insights when you need to check the test results.&lt;/p&gt;

&lt;p&gt;The choosen one is &lt;a href="https://github.com/LironEr/cypress-mochawesome-reporter"&gt;cypress-mochawesome-reporter&lt;/a&gt; and let's explore the installation steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install &lt;a href="https://nodejs.org/es/"&gt;Node JS&lt;/a&gt; in your computer depending your operating system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Have a Cypress project already setup with Javascript or Typescript. &lt;a href="https://www.youtube.com/watch?v=yM3qnxWNCY8&amp;amp;t=1s&amp;amp;ab_channel=JoanMedia"&gt;Check how to install Cypress 10+&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3- Install the library using the command: &lt;code&gt;npm i --save-dev cypress-mochawesome-reporter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;4- Edit the configuration file 'cypress.config.js' or 'cypress.config.ts' with the properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;reporter: 'cypress-mochawesome-reporter'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;e2e: {
setupNodeEvents(on, config) {
  require('cypress-mochawesome-reporter/plugin')(on);
},&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5- Add the following line to the "cypress/support/e2e.js/ts" configuration file: &lt;code&gt;import 'cypress-mochawesome-reporter/register';&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;If you need a visual example just check the following video: *&lt;/em&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/dFiQpbUXqIs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;See you soon!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>cypress</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
