一、使用Eclipse直接创建案例工程

  1、打开Eclipse,【File】-->【New】-->【Project】

  2、选择【Java Project】-->【Next】

  3、输入工程名称Appium_demo,点击【Finish】

  4、右键点击工程 New-Folder,新建两个文件夹:apps和libs,目录结构如下:

     

二、导入测试的类库

  1、导入Selenum类库:http://docs.seleniumhq.org/download/

    1) selenium-server-standalone-2.44.0.jar

    2) selenium-java-2.44.0.zip

  2、导入Appium类库:

    1) java-client-1.2.1.jar (太新的版本AppiumDriver类会报错)

  3、右键点击工程空白处,选择【Build Path】-->【Configure Build Path】

、下载测试APK 

  1、下载测试的文件ContactManager.apkhttps://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager

  2、将下载的apk放到项目的apps目录下

四、建立package包和案例文件

  1、在src文件夹上右键单击,【New】-->【package】,输入包名:com.glen.demo,点击【Finish】

  2、在package下新建类:ContactsTest.java,如下:  

  下载地址:https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium

import io.appium.java_client.AppiumDriver;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.CapabilityType;

import org.openqa.selenium.remote.DesiredCapabilities;



import java.io.File;  

import java.net.URL;  

import java.util.List;



 

public class ContactsTest {

    private AppiumDriver driver;

    @Before

    public void setUp() throws Exception {

        //设置apk的路径

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

        File appDir = new File(classpathRoot, "apps");

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

        

        //设置自动化相关参数

        DesiredCapabilities capabilities = new DesiredCapabilities();

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

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

        capabilities.setCapability("deviceName", "Android Emulator");

        

        //设置安卓系统版本

        capabilities.setCapability("platformVersion", "4.3");

        //设置apk路径

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

        

        //设置app的主包名和主类名

        capabilities.setCapability("appPackage", "com.example.android.contactmanager");

        capabilities.setCapability("appActivity", ".ContactManager");

        

        //初始化

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

    }

 

    @Test

    public void addContact(){

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

        el.click();

        List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");

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

        textFieldsList.get(2).sendKeys("Some@example.com");

        driver.swipe(100, 500, 100, 100, 2);

        driver.findElementByName("Save").click();

    }    

    

    @After

    public void tearDown() throws Exception {

        driver.quit();

    }

}

五、 启动Android模拟器(也可以连接真机)

  1、cmd输入:android avd,选择模拟器,点击【Start】即可。具体可参考:http://www.cnblogs.com/puresoul/p/4597211.html

  2、启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:

  

六、 启动Appium

  方法一:cmd输入:appium

  

  方法二:

  1、直接双击appium gui图标(如下图):

  

  2、点击右上角的启动按钮,启动日志如下:

  

七、 运行测试案例:

  1、在eclipse中,项目右键>【Run As】>【JUnit Test】,运行过程截图如下:

 

Appium入门示例(Java)的更多相关文章

  1. Appium入门示例(python)

    安装Python依赖 pip3.4 install nose pip3.4 install selenium pip3.4 install Appium-Python-Client 运行测试用例and ...

  2. Java反射01 : 概念、入门示例、用途及注意事项

    1.Java反射定义 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79360452 官方定义如下: Reflection enabl ...

  3. 使用XStream是实现XML与Java对象的转换(1)--简介及入门示例

    一.简单介绍 XStream是thoughtworks开发的开源框架,用于实现XML数据于Java对象.Json数据的转换.它不需要schema或其他的mapping文件就可以进行java对象和xml ...

  4. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例

    019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. 1.【转】spring MVC入门示例(hello world demo)

    1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...

  7. Spring MVC 入门示例讲解

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...

  8. Velocity魔法堂系列一:入门示例

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

  9. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

随机推荐

  1. 【LeetCode】116. Populating Next Right Pointers in Each Node

    题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  2. Azure MySQL PaaS (3) 创建MySQL异地只读数据库 (Master-Slave)

    <Windows Azure Platform 系列文章目录> Azure MySQL PaaS服务提供异地只读的功能,我们可以在主站点,比如Azure上海数据中心,创建MySQL主节点. ...

  3. P2727 Stringsobits

    01串 Stringsobits 题目背景 考虑排好序的N(N<=31)位二进制数. 题目描述 他们是排列好的,而且包含所有长度为N且这个二进制数中1的位数的个数小于等于L(L<=N)的数 ...

  4. axis1.4开发webservice客户端(快速入门)-基于jdk1.4

    写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...

  5. KBEngine简单RPG-Demo源码解析(3)

    十四:在世界中投放NPC/MonsterSpace的cell创建完毕之后, 引擎会调用base上的Space实体, 告知已经获得了cell(onGetCell),那么我们确认cell部分创建好了之后就 ...

  6. 把对象列表转化成json数据格式

    package JsonTest; import java.util.ArrayList; import java.util.List; public class test { public stat ...

  7. 最长非降子序列的O(n^2)解法

    这次我们来讲解一个叫做"最长非下降子序列"的问题及他的O(n^2)解法. 首先我们来描述一下什么是"最长非下降子序列". 给你一个长度为n的数组a,在数组a中顺 ...

  8. Chrome浏览器扩展开发系列之五:Page Action类型的Chrome浏览器扩展

    Page Action类型的Google Chrome浏览器扩展程序,通常也会有一个图标,但这个图标位于Chrome浏览器的地址栏内右端.而且这个图标并非始终出现,而是当某指定的页面打开时才会出现.也 ...

  9. js字符串与数组的相互转换

    一.数组转字符串,通过join()拼接数组元素 var a, b,c; a = new Array(a,b,c,d,e); b = a.join('-'); c = a.join('');consol ...

  10. Django学习(三)---Models(ORM框架)

    1) Django 中Models是与数据库相关的,与数据库相关的代码一般写在 models.py中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在sett ...