10
Getting Started with Appium

Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

Getting Started with Appium

Page 2: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 2

Appium Tutorial- A Guide forGetting Started in Windows Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS applications. This whitepaper is a basic AppiumTutorial to help you get up and running with this tool. AthoughAppiumis most commonly usedon Macintosh and Linux, many use it on Windows. This tutorialprovides basic instructions and tips for setting up Appium on Windows.A test script is also provided in JAVA written for beginners to start up quickly. More reasons forselectingAppium;quoteddirectly from http://appium.io/getting-started.html. “1. You don't have to recompile your app or modify it in any way, due to use of standard automation APIs on all platforms. 2. You can write tests with your favorite dev tools using any WebDriver-compatible language such as Java, Objective-C,

JavaScript with Node.js (in both callback and yield-based flavours), PHP, Python, Ruby, C#, Clojure, or Perl with the

Selenium WebDriver API and language-specific client libraries. 3. You can use any testing framework. ” For most people, their first step in learning Appium and knowing how to setup in Windows is to Google and find the following link: https://github.com/appium/appium/blob/master/docs/running-on-windows.md This is the ‘official’ site, but it is severely out of date. Therefore, it’s very hard for most people to accomplish what they want using the information found on this site. For example, it guides you to install ANT, Maven, and Git; but in fact they are not necessary. Additionally, many explanations are not clear enough for a beginner to understand. For example; “You must supply the --no-reset and --full-reset flags currently for android to work on Windows”. After going through this whole process, deciphering the directions and figuring out what actually is and is not required, we’ve documented the simplest ways to set up Appium on Windows. www.xbosoft.com 408-350-0508

Page 3: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 3

Setting up Appium in Windows 1. Install JDK 1.7 into your Windows 7; configure JAVA_HOME in your environment variable. 2. Install the Android SDK. Make sure you have an API Level 17 or higher. Set ANDROID_HOME to be your Android SDK

path;add the tools and platform-tools folders to your PATH variable. 3. Download AppiumForWindows.zip from https://bitbucket.org/appium/appium.app/downloads/. Extract it to C:\.

OK, now you’ve completed the Appium setup. Wasn’t that quick?

Let’s run a sample script to get a good feel for how it works.

www.xbosoft.com 408-350-0508

Page 4: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 4

Run Appium Script from Eclipse 1. Find Appium.exe from the folder you just extracted in Step 3 above. Double click Appium.exe to invoke Appium. (You

need at least .Net Framework 4.0 installed; but we suggest .Net 4.5.)

You will see the following window. 2. Check “Perform Full Reset” setting.

www.xbosoft.com 408-350-0508

Page 5: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 5 3. Click File > Preferences, check “Reset Application State After Each Session” setting. 4. Click the “Launch” button.

If you can see the following information, congratulations, you’ve started Appium successfully. 5. Download needed files:Junit jar file from https://github.com/junit-team/junit/wiki/Download-and-Install. Selenium jar

file from http://docs.seleniumhq.org/download/.

www.xbosoft.com 408-350-0508

Page 6: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 6

6. In Eclipse, create a JAVA project named “TestAppium”. Then, add the newly downloaded Junit and Selenium jar files to the Referenced Libraries.

7. Now you can write automation scripts for your application. We’ve pasted a sample script here for your reference. File name: androidExampleJunit.java packagecom.qa.test;

importjava.io.File;

import java.net.URL; importjava.util.concurrent.TimeUnit;

importorg.openqa.selenium.By;

importorg.openqa.selenium.WebDriver;

importorg.openqa.selenium.remote.CapabilityType;

importorg.openqa.selenium.remote.DesiredCapabilities;

importorg.openqa.selenium.remote.RemoteWebDriver;

importorg.junit.*;

publicclassandroidExampleJunit {

WebDriverdriver = null; @Before publicvoidsetUp() throws Exception {

FileappDir = newFile("C://Users//xbosoft//Desktop"); www.xbosoft.com 408-350-0508

Page 7: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 7

File app = newFile(appDir, "HelloAndroid.apk");

DesiredCapabilities capabilities = newDesiredCapabilities();

capabilities.setCapability("device", "Android");

capabilities.setCapability(CapabilityType.BROWSER_NAME, "");

capabilities.setCapability(CapabilityType.VERSION, "4.2.2");

capabilities.setCapability(CapabilityType.PLATFORM, "WINDOWS");

capabilities.setCapability("app-package", "com.example.helloandroid");

capabilities.setCapability("app-activity", "com.example.helloandroid.MainActivity");

capabilities.setCapability("app", app.getAbsolutePath());

driver = newRemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);

} @Test publicvoidappiumTestSample() throws Exception {

driver.findElement(By.xpath("//Button[@text='Test']")).click(); driver.findElement(By.xpath("//Button[@text='OK']")).click();

} @After publicvoidtearDown() throws Exception {

driver.quit(); }

}

8. Prepare the device.

Scripts can be run on both real devices and virtual devices.Virtual devices can be created in Android SDK Tools > AVD Manager. Considering that a virtual device needs a Windows machine with at least 8 GB RAM to perform smoothly, we recommend using a real device.

Get a mobile device with Android version equal to or higher than 4.2.2 and connect to your Windows machine with a USB cable.

Remember to set the “USB Debugging” setting to “ON” in your mobile device. Click “OK” if you see the following dialog box.

www.xbosoft.com 408-350-0508

Page 8: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 8

To check if the device is really ready, you can use “adb devices” command to verify. 9. Prepare the APK file.

The script showed above is specifically for the attached application –HelloAndroid.apk. Download and put it onto your desktop; make sure the path in the line “FileappDir = newFile("C://Users//xbosoft//Desktop");” is correct in your machine.

Everything is ready. Now you can run the script in your Eclipse environment.

www.xbosoft.com 408-350-0508

Page 9: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 9 This basic script will first install the application onto your device; invoke it; click the Test button; click OK button in the confirmation window, and finally close it. Now you can use this as a base for your test scripts. Just Copy and modify the script for your needs and you can run your first “Hello Android” for your own application. www.xbosoft.com 408-350-0508

Page 10: Getting Started with Appium - XBOSoft.com · Appium is proving to be a hot tool for mobile automation as it allows forcross platform automation tests foriOS, Android,and FirefoxOS

XBOSoft- Appium Tutorial 10 Conclusion As you can see, once you get around the installation maze, it’s easy to use Appium for multi-platform mobile automation tasks.Compared with test automation on a PC/Web platform, the mobile’s screen is much smaller making manual input and operationmuch harder and more prone to errors not only for end users but also for testers! With mobile test automation, you can automatically handlemanual testing activities that require a lot of manual input and put into yoursmoke and regression testing.This will save both time and your eyesight. Photo Reference: Cover photo courtesy of Richard Leone http://www.flickr.com/photos/richardleonard/104833424/

www.xbosoft.com 408-350-0508