<?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: PM Nagabhushanam</title>
    <description>The latest articles on DEV Community by PM Nagabhushanam (@pmnagabhushanam).</description>
    <link>https://dev.to/pmnagabhushanam</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%2F166945%2F89b3825d-e23c-4005-b5ef-8397e7e418e9.jpg</url>
      <title>DEV Community: PM Nagabhushanam</title>
      <link>https://dev.to/pmnagabhushanam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pmnagabhushanam"/>
    <language>en</language>
    <item>
      <title>Automating a Picker Wheel using Testsigma</title>
      <dc:creator>PM Nagabhushanam</dc:creator>
      <pubDate>Thu, 09 Jan 2020 10:10:44 +0000</pubDate>
      <link>https://dev.to/pmnagabhushanam/automating-a-picker-wheel-using-testsigma-1km7</link>
      <guid>https://dev.to/pmnagabhushanam/automating-a-picker-wheel-using-testsigma-1km7</guid>
      <description>&lt;p&gt;Pickerwheel is the UI element, specific to mobile devices that allows a user to pick a single value from multiple values displayed as a scrollable list. This UI element is available on both Android and iOS.&lt;/p&gt;

&lt;p&gt;Here, in this article, we will be discussing the automation of Picker Wheel specifically for iOS using the scriptless testing tool,&lt;a href="https://testsigma.com"&gt; Testsigma&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to automate PickerWheel UI element using Appium:&lt;/strong&gt;&lt;br&gt;
Automation of an iOS-specific pickerWheel UI element via Appium using the XCUITest driver is quite simple. Let’s look at 2 approaches to do so below:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Approach 1:&lt;/strong&gt; &lt;br&gt;
The simplest way to automate the PickerWheel is via the “driver.sendKeys()” method. PickerWheel contains values in the form of strings. The same string that needs to be selected can be passed as a value via sendKeys and the needed result can be achieved.&lt;/p&gt;

&lt;p&gt;Here, the pickerWheel element is accessed via method “XCUIElementTypePickerWheel” as in the sample code below:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;driver.findElement(By.xpath(“//XCUIElementTypePickerWheel[@value=’Today’]”)).sendKeys(“Wed 25 Dec”);&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Element located by pickerWheel is “//XCUIElementTypePickerWheel[@value=’Today’]”.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Value picked by pickerWheel is “Wed 25 Dec”.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Refer image below to get more clarity about PickerWheel via Appium Inspector:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Approach 2:&lt;/strong&gt; &lt;br&gt;
In the second approach, javascript’s mobile method selectPickerWheelValue can be used:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HashMap params = new HashMap&amp;lt;&amp;gt;();&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;params.put(“order”, “next”);&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;params.put(“offset”, 0.15);&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;params.put(“element”, ((RemoteWebElement) pickerWheelElement).getId());&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;driver.executeScript(“mobile: selectPickerWheelValue”, params);&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And it accesses the pickerWheel values in forward or backward direction, as needed, using the above parameters.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Order: The value of order determines where to pick the next value – for forward direction “next” value should be passed and for backward “previous” should be passed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offset: The height of the wheel at which click should be done.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Element: PickerWheel element.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s discuss how the pickerWheel interaction can be automated in an iOS native application using simple natural language in &lt;strong&gt;Testsigma&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“ Pick option by text test data in the UI identifier picker view”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here, &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;test data:&lt;/strong&gt; The pickerWheel value that should be selected regardless of direction.&lt;br&gt;
&lt;strong&gt;ui identifier:&lt;/strong&gt;  locator of the PickerWheel Element.&lt;/p&gt;

</description>
      <category>pickerwheel</category>
      <category>iosxcuitest</category>
      <category>automatingpickerwheel</category>
      <category>softwaretesting</category>
    </item>
    <item>
      <title>3 Steps to Automate Mobile Applications Using Testsigma</title>
      <dc:creator>PM Nagabhushanam</dc:creator>
      <pubDate>Wed, 29 May 2019 13:19:11 +0000</pubDate>
      <link>https://dev.to/pmnagabhushanam/3-steps-to-automate-mobile-applications-using-testsigma-5ee7</link>
      <guid>https://dev.to/pmnagabhushanam/3-steps-to-automate-mobile-applications-using-testsigma-5ee7</guid>
      <description>&lt;p&gt;In this article, we will learn to automate mobile applications using &lt;a href="https://testsigma.com"&gt;Testsigma&lt;/a&gt; in 3 simple steps.&lt;/p&gt;

&lt;p&gt;Mobile applications can be automated using  various platforms and testing frameworks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android apps using AndroidSDK/UIAutomator2&lt;/li&gt;
&lt;li&gt;iOS apps using Xcode-swift / XCUITest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let us look at the steps one by one.&lt;/p&gt;

&lt;h2&gt;Step 1&lt;/h2&gt;

&lt;p&gt;Keep the app required to automate ready for Upload into Testsigma Lab. Installed on Test mobile Device(Local Hybrid Execution). The application can also be located on local machine or server accessible via direct link on internet. You may read more about the execution models in Testsigma here.&lt;/p&gt;

&lt;p&gt;Testsigma Lab is &lt;a href="https://testsigma.com"&gt;Testsigma’s&lt;/a&gt; dedicated device cloud that has over 100+ real web, mobile devices and different versions of Android OS, iOS platforms to choose from to execute the tests.&lt;/p&gt;

&lt;p&gt;Other Cloud Lab solutions that Testsigma offers include Sauce Labs and BrowserStack.&lt;/p&gt;

&lt;p&gt;To upload the mobile application, navigate to Test Development &amp;gt; Uploads&lt;br&gt;
In the Uploads page, click on the Upload button in the top right corner.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JkMKLJMR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/krxwut4xpz884d81uxp1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JkMKLJMR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/krxwut4xpz884d81uxp1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Step 2 &lt;/h2&gt;

&lt;p&gt;Start writing the Test Steps.&lt;/p&gt;

&lt;p&gt;If you are new to creating Test Steps in &lt;a href="https://testsigma.com"&gt;Testsigma&lt;/a&gt;, refer the below links to short videos that explains this. Writing automated tests in Testsigma is quite easy as they can easily be written and understood by everyone since the tests are written in plain simple English. Testsigma uses NLP grammar to automate complex tests easily and involves no coding!&lt;/p&gt;

&lt;p&gt;Let us write the steps to launch a mobile application, tap on a few elements on the application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=7Gf-0tK-N-c"&gt;Entering Test Steps-Quick video&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=4tNN1r-CdyM&amp;amp;feature=youtu.be"&gt;Assigning values to the Test Step elements&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The below screenshots the steps for these in Testsigma. In case of doubt, you may refer the Examples tab under the Help(?) icon in the tool.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pCEdTWQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/w3gk3a1r63x994xrm78y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pCEdTWQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/w3gk3a1r63x994xrm78y.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Step 3&lt;/h2&gt;

&lt;p&gt;Run your test. Testsigma provides multiple device environments to choose from. Choose your preferred combination and click Create and Run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kA3X9y3g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zuo3ftil983jtxguup9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kA3X9y3g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zuo3ftil983jtxguup9j.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run the execution and get customized run results including screenshots, videos, and logs of the run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YgSTSM95--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/bflwulnp29s59k7ubcrg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YgSTSM95--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/bflwulnp29s59k7ubcrg.png"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>softwaretesting</category>
      <category>testautomation</category>
      <category>testing</category>
      <category>automationtesting</category>
    </item>
  </channel>
</rss>
