<?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: Srinivas Prasad K T</title>
    <description>The latest articles on DEV Community by Srinivas Prasad K T (@ktsprasad).</description>
    <link>https://dev.to/ktsprasad</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%2F1250497%2F4b24075b-173d-418a-b2fd-852b6c7481fe.jpeg</url>
      <title>DEV Community: Srinivas Prasad K T</title>
      <link>https://dev.to/ktsprasad</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ktsprasad"/>
    <language>en</language>
    <item>
      <title>Exploring the Top IDEs in Test Automation</title>
      <dc:creator>Srinivas Prasad K T</dc:creator>
      <pubDate>Sun, 07 Jan 2024 19:28:51 +0000</pubDate>
      <link>https://dev.to/ktsprasad/exploring-the-top-ides-intest-automation-4e1d</link>
      <guid>https://dev.to/ktsprasad/exploring-the-top-ides-intest-automation-4e1d</guid>
      <description>&lt;h2&gt;
  
  
  JAVA Ecosystem:
&lt;/h2&gt;

&lt;p&gt;1) Eclipse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Widely used for Java-based test automation.&lt;/li&gt;
&lt;li&gt;Supports frameworks like Selenium WebDriver,
JUnit, and TestNG.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2) IntelliJ IDEA:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A popular choice for Java development.&lt;/li&gt;
&lt;li&gt;Supports Selenium WebDriver, JUnit, and
TestNG.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3) Aqua IDEA:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Powerful IDE for Java-based Test Automation
Supports framework Selenium, Playwright, and
Cypress.&lt;/li&gt;
&lt;li&gt;Supports Web Inspector and has inbuilt AI
Assistance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  JavaScript Ecosystem:
&lt;/h2&gt;

&lt;p&gt;1) Visual Studio Code (VS Code):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Versatile and widely used for JavaScript and
TypeScript.&lt;/li&gt;
&lt;li&gt;Supports frameworks like Playwright, Mocha,
Chai, Jest, and others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2) Atom:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A flexible and customizable text editor.&lt;/li&gt;
&lt;li&gt;Supports JavaScript testing frameworks like
Mocha, Chai, and Jest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3) Sublime Text:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight and supports JavaScript
frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Python Ecosystem:
&lt;/h2&gt;

&lt;p&gt;1) PyCharm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dedicated IDE for Python.&lt;/li&gt;
&lt;li&gt;Supports Selenium WebDriver, PyTest, and other
Python testing frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2) Jupyter Notebooks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used for interactive and exploratory testing in
Python.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  TypeScript Ecosystem:
&lt;/h2&gt;

&lt;p&gt;1) Visual Studio Code (VS Code):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Excellent support for TypeScript.&lt;/li&gt;
&lt;li&gt;Suitable for testing with Playwright and other
TypeScript-based frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Mobile App Testing:
&lt;/h2&gt;

&lt;p&gt;1) Android Studio:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Primarily used for Android app
development and testing.&lt;/li&gt;
&lt;li&gt;Integrates with Appium for mobile app
automation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Cross-Browser Testing:
&lt;/h2&gt;

&lt;p&gt;1) BrowserStack Automate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An online platform for cross-browser
testing.&lt;/li&gt;
&lt;li&gt;Can be used with various languages and
testing frameworks.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Getting started with Appium</title>
      <dc:creator>Srinivas Prasad K T</dc:creator>
      <pubDate>Sat, 06 Jan 2024 20:44:36 +0000</pubDate>
      <link>https://dev.to/ktsprasad/getting-started-with-appium-2ggk</link>
      <guid>https://dev.to/ktsprasad/getting-started-with-appium-2ggk</guid>
      <description>&lt;h1&gt;
  
  
  What is Appium
&lt;/h1&gt;

&lt;p&gt;A complete step by step guide&lt;/p&gt;

&lt;p&gt;Starting from the very basic question, Appium is a mobile Automation tool. React Native provides a mobile app development experience without sacrificing user experience or visual performance. And when it comes to mobile app UI testing, Appium is a great way to test indigenous React Native apps out of the box. Creating native apps from the same code and being able to do it using JavaScript has made Appium popular. It works for native apps as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZXDDFjuP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ved345ftqvvr05c4z6ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZXDDFjuP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ved345ftqvvr05c4z6ke.png" alt="Image description" width="800" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Importantly, Appium is "cross-platform", allowing you to write tests against multiple platforms (iOS, Android), using the same API. This enables code usage between iOS, Android, and Windows test suites. It runs on iOS and Android applications using the WebDriver protocol.&lt;br&gt;
What is WebDriverIO&lt;br&gt;
WebdriverIO is a widely used test automation framework in JavaScript. It has various features like it supports many reports and services, Test Frameworks, and WDIO CLI Test Runners&lt;br&gt;
The following are examples of supported services: ● Appium Service&lt;/p&gt;

&lt;p&gt;● Devtools Service&lt;br&gt;
● Firefox Profile Service&lt;br&gt;
● Selenium Standalone Service&lt;br&gt;
● Shared Store Service&lt;br&gt;
● Static Server Service&lt;br&gt;
● ChromeDriver Service&lt;br&gt;
● Report Portal Service&lt;br&gt;
● Docker Service&lt;/p&gt;

&lt;p&gt;Pre requisites&lt;br&gt;
● Install the latest stable version of Android Studio&lt;br&gt;
● Install android-platform-tools from CLI&lt;br&gt;
● Install JDK latest stable version&lt;br&gt;
● Download the latest stable version of VS Code&lt;br&gt;
● Download and install the latest LTS Node.js&lt;/p&gt;

&lt;p&gt;Stepwise guide&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Terminal and move to your workspace&lt;/li&gt;
&lt;li&gt;Create Project Directory
$ mkdir Demo_Appium_Project&lt;/li&gt;
&lt;li&gt;Create a sample Appium Project
$ npm init
$ package name: (demo_appium_project) demo_appium_test
$ version: (1.0.0) 1.0.0
$ description: demo_appium_practice
$ entry point: (index.js) index.js
$ test command: "./node_modules/.bin/wdio wdio.conf.js"
$ git repository:
$ keywords:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This will also create a package.json file for test settings and project dependencies.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Install node packages&lt;br&gt;
$ npm install&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install Appium through npm or as a standalone app.&lt;br&gt;
$ npm install -g appium or npm install --save appium&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install WebdriverIO&lt;br&gt;
$ npm install -g webdriverio or npm install --save-dev webdriverio @wdio/cli&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install Chai Assertion library&lt;br&gt;
$ npm install -g chai or npm install --save chai&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Make sure you have following versions installed (or above if stable):&lt;br&gt;
$ node --version - v.14.17.0&lt;br&gt;
$ npm --version - 7.17.0&lt;br&gt;
$ appium --version - 1.21.0&lt;br&gt;
$ java --version - java 16.0.1&lt;br&gt;
$ allure --version - 2.14.0&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;WebdriverIO Configuration&lt;br&gt;
$ npx wdio config&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FDSy0puE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pnmedgv2ekdbg30655wq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FDSy0puE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pnmedgv2ekdbg30655wq.png" alt="Image description" width="800" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the following series of questions, install the required dependencies,&lt;br&gt;
 If you encounter the following error&lt;br&gt;
ts -node/esm/transpile-only ‘resolve’&lt;br&gt;
Run the following command&lt;br&gt;
$ npm i -D typescript ts-node&lt;/p&gt;

&lt;p&gt;For iOS Automation, just add the following capabilities in wdio.conf.js &amp;amp; the Appium Configuration:&lt;br&gt;
{&lt;br&gt;
"platformName": "IOS",&lt;br&gt;
"platformVersion": "14.5",&lt;br&gt;
"app": "/Your_PATH/wdioNativeDemoApp.app", "deviceName": "iPhone 12 Pro Max"&lt;br&gt;
}&lt;br&gt;
After this, it is important to install Appium Doctor to check and verify if we have all the dependencies&lt;br&gt;
installed for Appium. To get a guide on installing Appium Doctor, click here.&lt;br&gt;
Resultantly&lt;br&gt;
You have everything installed for Appium. Now what we do is see how we can combine everything and start our mobile automation.&lt;br&gt;
In the automation project directory,&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open VS Code and under the test/specs folder make a file say test.e2e.js&lt;/li&gt;
&lt;li&gt;Write your test scripts in this file and save it&lt;/li&gt;
&lt;li&gt;If you have an emulator attached, open Android studio and run your emulator&lt;/li&gt;
&lt;li&gt;Run the Appium server from the system terminal&lt;/li&gt;
&lt;li&gt;Lastly, go back to VS Code, open terminal and type
$ npm run wdio&lt;/li&gt;
&lt;li&gt;This will execute your test scripts
Pro Tip
While finding the selectors for elements to be used in test scripts, we can manually navigate through the code, but what helps save all that effort is Appium Inspector. We can install Appium Inspector and write the desired capabilities of the emulator or real time device whichever we are using. We have to make sure our virtual/physical device is running and the Appium server is active too. After this, we can start the session on Appium Inspector and open our app there. Now whichever element id/selector we need, all we have to do is click the element. The Appium Inspector will tell us the id/selector of that element.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>appium</category>
    </item>
  </channel>
</rss>
