关注质量与体验:电子商务与自动化测试

发表于:2014-04-09来源:博客园作者:oscarxie点击数: 标签:电子商务
关注质量与体验:电子商务与自动化测试.最近有空玩了一下Appium,记录一下 1.下载Appium for windows,现在是0.12.3版本 https://bitbucket.org/appium/appium.app/downloads/ 解压后如下图 双击Appium.exe就能启动Appium界面 点击Launch开启服务 2. 下载Android SDK htt

  最近有空玩了一下Appium,记录一下

  1.下载Appium for windows,现在是0.12.3版本

  https://bitbucket.org/appium/appium.app/downloads/

  解压后如下图

  双击Appium.exe就能启动Appium界面

  点击Launch开启服务

  2. 下载Android SDK

  https://developer.android.com/sdk/index.html

  解压后

  3. 配置系统环境变量

  ANDROID_HOME: C:\adt-bundle-windows-x86_64-20131030\sdk

  Path添加: %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

  4. 启动AVD,耗资源啊,这时候我T400的CPU已经100%了

  5. 编写Test,使用ADT安装好Maven插件,创建一个Maven项目,添加一个文件夹apps用来存放被测的app,这里测试的是ContactManager.apk

  pom.xml添加如下依赖

复制代码

  1

  2

  3 junit

  4 junit

  5 4.11

  6 test

  7

  8

  9 org.seleniumhq.selenium

  10 selenium-java

  11 LATEST

  12 test

  13

  14

复制代码

  编写AndroidContactsTest

复制代码

  1 package com.guowen.appiumdemo;

  2

  3 import org.junit.After;

  4 import org.junit.Before;

  5 import org.junit.Test;

  6 import org.openqa.selenium.*;

  7 import org.openqa.selenium.interactions.HasTouchScreen;

  8 import org.openqa.selenium.interactions.TouchScreen;

  9 import org.openqa.selenium.remote.CapabilityType;

  10 import org.openqa.selenium.remote.DesiredCapabilities;

  11 import org.openqa.selenium.remote.RemoteTouchScreen;

  12 import org.openqa.selenium.remote.RemoteWebDriver;

  13 import java.io.File;

  14 import java.net.URL;

  15 import java.util.List;

  16

  17 public class AndroidContactsTest {

  18 private WebDriver driver;

  19

  20 @Before

  21 public void setUp() throws Exception {

  22 // set up appium

  23 File classpathRoot = new File(System.getProperty("user.dir"));

  24 File appDir = new File(classpathRoot, "apps/ContactManager");

  25 File app = new File(appDir, "ContactManager.apk");

  26 DesiredCapabilities capabilities = new DesiredCapabilities();

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

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

  29 capabilities.setCapability(CapabilityType.VERSION, "4.4");

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

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

  32 capabilities.setCapability("app-package", "com.example.android.contactmanager");

  33 capabilities.setCapability("app-activity", ".ContactManager");

  34 driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

  35 }

  36

  37 @After

  38 public void tearDown() throws Exception {

  39 driver.quit();

  40 }

  41

  42 @Test

  43 public void addContact(){

  44 WebElement el = driver.findElement(By.name("Add Contact"));

  45 el.click();

  46 List textFieldsList = driver.findElements(By.tagName("textfield"));

  47 textFieldsList.get(0).sendKeys("Some Name");

原文转自:http://www.cnblogs.com/oscarxie/p/3488262.html