打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Test Automation of Android App using Selenium WebDriver and Appium

Appium is an open-source tool for automating native, mobile web and hybrid applications on iOS and Android platforms. Appium is a server written in Node js. Through Appium you can test automatically your mobile application either on emulator or on real device.

Features:

  • Appium is “cross-platform”: It facilitates cross platform testing for both iOS and Android using the same API.
  • Appium is open source.
  • You don’t need source code of app to automate it.

How it works:

Appium server reads the command coming in from test Java code and executes that command on real device as well as on emulator.

Basic configurations before switching on app automation on a windows machine:

  1. At least Java 8 should be installed on your machine for running Appium server. Make sure environment variable and path are set properly.
  2. Microsoft .NET framework 4.5 should be installed on your machine.
  3. Download Android SDK and set the path in environment variable for ‘tools’ and ‘platform-tools’ folder.
    Note: Each version of android supports some API level. Appium supports above or equal API level 17 of Android.
  4. Developer mode should be ‘ ON’ on your device and inside developer mode ‘USB debugging’ option should be set to  ON .
    Note:
    · If Developer mode is not ON then you have to click 6 times on ‘About phone’ option in settings.
    · ‘RSA key accept’ popup must be come when above setting is on and you connect you device to PC. Please accept it.
    · I have faced a driver installation issue. If you face same issue then please install ‘PDANet’ software on your machine.
    · To verify your phone is connected properly, you have to open Eclipse IDE available with Android SDK and launch DDMS mode. If your device is appearing it means your phone is connected properly.
  5. Download & install Appium on your machine.

JAR files needed:

  1. Selenium server/Selenium Java client JAR file should be added in your project.
  2. Appium Java client should be added in your project.
  3. gson-2.2.4.jar file.

Below is the code for launching a mobile app and performing a login action on an Android app.

import java.io.File;import java.net.MalformedURLException;import java.net.URL;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.remote.DesiredCapabilities;import io.appium.java_client.android.AndroidDriver;public class AndroidTest {	  static WebDriver driver;  public static void main(String arr[]) throws MalformedURLException, InterruptedException   {    File app= new File("apk-file-path");    DesiredCapabilities capabilities= new DesiredCapabilities();    capabilities.setCapability("deviceName", "your-device-name");    capabilities.setCapability("platformVersion", "platform-version");    capabilities.setCapability("platformName", "platform-name");    capabilities.setCapability("app", app.getAbsolutePath());    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);    driver.findElement(By.id("username-element")).sendKeys("username");    driver.findElement(By.id("password-element")).sendKeys("password");    driver.findElement(By.id("password-element ")).click();    driver.quit();  }}

So let’s try to get an understanding of what we are trying to achieve in the above code snippet.

  1. We created a new Java project in Eclipse and added/build above mentioned JAR files in your project.
  2. Add the Android apk file path in our code.
  3. Set the above mentioned device capabilities.
  4. Initialize WebDriver instance with AndroidDriver as the path for Appium server through which they can connect to each other.
  5. Now find elements and perform action on those elements. You can find an element’s id by launching the uiautomationviewer tool available in Android SDK tools folder. You need to take a screenshot of the device and hover mouse on that particular element.
  6. Quit your driver.

Steps to execute automation script:

  1. Launch Appium server.
  2. Execute the above java code from Eclipse.
  3. Now it will start executing script on real device or on emulator.

With the proliferation of Mobile devices and innumerable mobile apps it is important for QA to stay ahead of the curve when it comes to automation. If you’re not already thinking of automating the testing of your mobile apps now is the time to do so before it gets too late. I’ll soon be sharing the write up on how to achieve the same for iOS applications.

You may also like

  • The lousy developer

    I’m not sure if there are any real metrics to judge the quality of software developers thus no one knows…

  • Our Software Engineer's Creed

    I would be a team player and would always put the success of my team first. I would take responsibility…

  • The rock star developer

    Not sure if the web needs another blog post on the rock star developer topic but I feel like writing…

  • The Good Developer

    There are various parameters to judge a developer but for me the number one criteria is efficiency. Ahem…I don’t mean…

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
appium简明教程
关于iOS的自动化测试
开始实际搭建App测试环境-Appium
移动测试 Appium源码初探
【自动化测试】自动化测试框架与工具
用 Appium 自动收取蚂蚁森林能量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服