官网源码地址
https://github.com/appium/sample-code/blob/47fc0305396b8322b727820ca55a07607395040c/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium/AndroidContactsTest.java#

1 package com.saucelabs.appium;
2

3 import io.appium.java_client.AppiumDriver;
4 import io.appium.java_client.android.AndroidDriver;
5

6 import java.io.File;
7 import java.net.URL;
8 import java.util.List;
9

10 import org.junit.After;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.openqa.selenium.By;
14 import org.openqa.selenium.WebElement;
15 import org.openqa.selenium.remote.CapabilityType;
16 import org.openqa.selenium.remote.DesiredCapabilities;
17

18 public class AndroidContactsTest {
19 private AppiumDriver driver;
20

21 @Before
22 public void setUp() throws Exception {
23 // set up appium
24 File classpathRoot = new File(System.getProperty("user.dir"));
25 File appDir = new File(classpathRoot, "../../../apps/ContactManager"); //目录位置对应好
26 File app = new File(appDir, "ContactManager.apk");
27 DesiredCapabilities capabilities = new DesiredCapabilities();
28 capabilities.setCapability("deviceName","Android Emulator");
29 capabilities.setCapability("platformVersion", "4.4");
30 capabilities.setCapability("app", app.getAbsolutePath());
31 capabilities.setCapability("appPackage", "com.example.android.contactmanager");
32 capabilities.setCapability("appActivity", ".ContactManager");
33 driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
34 }
35

36 @After
37 public void tearDown() throws Exception {
38 driver.quit();
39 }
40

41 @Test
42 public void addContact(){
43 WebElement el = driver.findElement(By.name("Add Contact"));
44 el.click();
45 List textFieldsList = driver.findElementsByClassName("android.widget.EditText");
46 textFieldsList.get(0).sendKeys("Some Name");
47 textFieldsList.get(2).sendKeys("Some@example.com");
48 driver.swipe(100, 500, 100, 100, 2);
49 driver.findElementByName("Save").click();
50 }
51

52 }

调试时遇到问题1:AndroidDriver包找不到,原因是我前面导的包是java-client-1.2.1.jar,需要导入新的包java-client-2.1.0.jar,下载地址:https://search.maven.org/remotecontent?filepath=io/appium/java-client/2.1.0/java-client-2.1.0.jar
import io.appium.java_client.android.AndroidDriver;

调试时遇到问题2:调试时跑起来没问题,执行到44行时程序退出,eclipse的failure trace报的错是找不到element,考虑到43行元素已经定位都没问题,觉得应该是第二个页面元素还没找到,于是在44行后添加如下代码,等待页面加载
try{Thread.sleep(10);}catch(Exception e){}

调试时遇到问题3:定位行数为42,即@Test后的函数那行,这个问题基本都是由于appium没启动或者长时间开着的缘故,一般调试前最好重新launch下
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'
System info: host: 'PC201404231316', ip: '192.168.18.100', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_45'

appium testcase1(Java)的更多相关文章

  1. Appium(JAVA)Windows 7系统搭建及示例运行

    Appium(JAVA)Windows 7系统搭建及示例运行 分类: Appium 2014-11-14 17:44 4323人阅读 评论(2) 收藏 举报 1.搭建Android环境 http:// ...

  2. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  3. 如何夯实(Java)编程基础,并深入学习和提高

    如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...

  4. TCL校园招聘——软件开发工程师(java) 只招5个。。。

    简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...

  5. UEditor上传图片到七牛云储存(java)

    我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...

  6. 开源工作流 Bonita BPM (JAVA)

    Bonita BPM 开源工作流 Bonita BPM  (JAVA) http://www.bonitasoft.com/

  7. ZeroMQ(java)中对IO的封装(StreamEngine)

    哎,各种各样杂七杂八的事情...好久没有看代码了,其实要搞明白一个与IO相关的框架,最好的办法就是把它的I/0的读写两个过程搞清楚...例如在netty中,如果能将eventLoop的运行原理搞清楚, ...

  8. 编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码

    转自:编译哈工大语言技术平台云LTP(C++)源码及LTP4J(Java)源码 JDK:java version “1.8.0_31”Java(TM) SE Runtime Environment ( ...

  9. 随机产生30个两个两位数相加的题目(java)

    编程思路: 1首先遇到JAVA产生随机数的问题. 2把产生的随机数设定范围. 3把划分的范围再分四个小区段分别对应四则运算法则加减乘除. 4打印输出. 题目源代码(Java) package coun ...

随机推荐

  1. 使用CSS 3创建不规则图形 文字围绕

    前言 CSS 创建复杂图形的技术即将会被广泛支持,并且应用到实际项目中.本篇文章的目的是为大家开启它的冰山一角.我希望这篇文章能让你对不规则图形有一个初步的了解. 现在,我们已经可以使用CSS 3 常 ...

  2. css3中的几何图形shape研究

    前言 估计大家在日常工作中都会用到css形状,但是目前天朝中使用到最多的估计就是圆(circle).椭圆(ellipse).各种三角形形状,但是你肯定很少看见过用几何图形或者多边图形.假如你不懂什么叫 ...

  3. fork和execve

    fork函数在新的子进程中运行相同的程序,新的子进程是父进程的一个复制品. execve函数在当前进程的上下文中加载并运行一个新的程序.它会覆盖当前进程的地址空间,但并没有创建一个新的进程.新的程序仍 ...

  4. 51NOD 算法马拉松12

    OTZ做出题目的神犇..断断续续改完了在这里存一下思路吧 A题:第K大区间题意:定义一个区间的值为其众数出现的次数.现给出n个数,求将所有区间的值排序后,第K大的值为多少. 分析:二分答案mid,任务 ...

  5. Hadoop分布式文件系统:架构和设计要点

    原文:http://hadoop.apache.org/core/docs/current/hdfs_design.html 一.前提和设计目标 1.硬件错误是常态,而非异常情况, HDFS可能是有成 ...

  6. [转帖] Symbol Emotions Sticker 英文符号表情大全

    :-) smile :-] polite smile :-( frown :-[ another frown :-/ or :-\ skepticism, annoyance, or a slight ...

  7. 诅咒JavaScript之----ArcGIS JavaScript 点聚合 ClusterLayer

    对一个之前一直做winForm的 菜鸟来说,突然接触这么神奇的语言,基本上每天都会诅咒一下这门神奇的语言. 最近做了一个小网站,底图用的是天地图的服务,用ArcGIS JavaScript提供的一些G ...

  8. hdu Random Sequence

    这道题是道规律极强的题...真佩服在赛场上快速找到规律的人. d[i]              a[i]            res[i] 0                 1.000000 C ...

  9. 《GK101任意波发生器》升级固件发布(版本:1.0.2.build126)

    一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build126 编译日期:2014-08-23 ====================================== 二. ...

  10. Lamda表达式

    Lamda表达式 函数式编程的产生(匿名内部类) interface Mes{ public void speak(); } public class Lam { public static void ...