自己跑的两个case都在盘里,可以直接解压后放到workspace,加载工程就能跑,前提是你的环境没有问题
http://pan.baidu.com/s/1bnHCyn1
eclipse-File-import-Maven-Existing Maven Projects-Next
不过Kuyoulife_v2.apk连得是内网的数据库,可以看看写的东西,把下面的注释掉跑ContactManager.apk还是能跑的

几个点:
1.private AppiumDriver driver;声明的driver为AppiumDriver类型的,需要导入Java-client的包是2.0以上
import io.appium.java_client.AppiumDriver;
AppiumDriver有个swipe函数,可以进行左滑右滑手势,下面会用到
2.unicode包,这样就能对中文更好的支持,建议加上
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");

主要用到的函数
try{Thread.sleep(1000);}catch(Exception e){} //是等待1000毫秒继续执行,跑的时候经常会发生找不到Element,用这个等待程序加载再找Element
driver.findElementByName("杭州").click();//找到Element后执行点击事件
driver.findElementById("com.ku0571.kuyou:id/login_pwd").sendKeys("qqqqqq");//找的Element后向输入框输入字符qqqqqq
driver.sendKeyEvent(AndroidKeyCode.BACK);安卓物理返回键

左滑手势(引导页的左滑手势)
double x = driver.manage().window().getSize().getWidth();//x的值为安卓设备的宽
double y = driver.manage().window().getSize().getHeight();//y的值为安卓设备的高
for (int i=0;i<5;i++)//有时左滑手势不行,故多循环了几次
{
driver.swipe((int)(x0.9), (int)(y0.8), (int)(x0.1), (int)(y0.8), 100);左滑手势
}

左滑手势(某个页面对某个列表元素进行删除操作)
x = driver.findElementById("com.ku0571.kuyou:id/view_content").getSize().getWidth();
y = driver.findElementById("com.ku0571.kuyou:id/view_content").getSize().getHeight();
double y1 = driver.findElementByClassName("android.widget.RelativeLayout").getSize().getHeight();
driver.swipe((int)(x0.9), (int)(y1+y0.5), (int)(x0.1), (int)(y1+y0.5), 100);
driver.findElementById("com.ku0571.kuyou:id/delete").click();

等待页面元素加载,这里的10是指10秒
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

添加检查点,也没找到很好的方法,目前想到的是在执行完一段代码后用println打印出来,这个在console里能看到运行到哪一步了,比appium那么一大堆log更清晰
system.out.println("log");

appium testcase2的更多相关文章

  1. Appium移动自动化框架

    引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...

  2. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  3. Appium python API 总结

    Appium python api 根据testerhome的文章,再补充一些文章里面没有提及的API [TOC] [1]find element driver 的方法 注意:这几个方法只能通过sel ...

  4. Appium scroll 滑动查找

    首先看uiautomator如何实现滑动查找 UiScrollable scrollView = new UiScrollable(new UiSelector().className("a ...

  5. Appium+python的一个简单完整的用例

    最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittes ...

  6. Appium环境搭建+cordova

    1.安装JDK 配置JAVA_HOME(变量值为jdk的安装目录)以及Path path值如下: 验证是否生效 2.安装node.js 选择适合自己的版本官网直接下载https://nodejs.or ...

  7. Appium简单测试用例

    工程目录如下: 封装初始化androiddriver 方法 import org.openqa.selenium.remote.DesiredCapabilities; import java.io. ...

  8. appium常用方法整理

    1.相对坐标解锁九宫格 应用场景 QQ解锁屏幕如上,可见九个按键在同一个View下面,要实现解锁,用press   moveTo  release  perform方法 实现代码如下: WebElem ...

  9. appium 滑动

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...

随机推荐

  1. 响应式HTML5+CSS3 网站开发测试实践

    仅仅利用media query适配样式是远远不够的,并没有考虑触屏下的行为和特有的内容组织方式的不同.简单在桌面版基础上叠加mobile版的代码,会带来请求增多.流量.性能.代码冗余等诸多方面问题.有 ...

  2. jws操作

    SQLite 并发写入的问题有人解决了吗? 我记得servicestack4的ormlite挺快的 但不开源了 那时候写10w条,200多m数据一下子就写完了,3的话就慢得不行 大家好,关于jws操作 ...

  3. TYVJ P1072 bomb Label:看不懂题意

    描述 一场战争正在A国与B国之间如火如荼的展开.B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利!当然,A国人民不会允许这样的 ...

  4. 【BZOJ】1051: [HAOI2006]受欢迎的牛(tarjan)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1051 这题还好-1A了..但是前提还是看了题解的 囧.....一开始认为是并查集,oh,不行,,无法 ...

  5. Graph database_neo4j 底层存储结构分析(8)

    3.8  示例1:neo4j_exam 下面看一个简单的例子,然后看一下几个主要的存储文件,有助于理解<3–neo4j存储结构>描述的neo4j 的存储格式. 3.8.1    neo4j ...

  6. CentOS 拷贝mysql数据库到新的硬盘报错了

    服务器硬盘满了,加了一块,在目录 下新建了 mkdir /mysql cp -r /var/lib/mysql/* /mysql chown -R mysql:root /mysql 更改/etc/m ...

  7. meta标签的用法

    meta是用来在HTML文档中模拟HTTP协议的响应头报文.meta 标签用于网页的<head>与</head>中,meta 标签的用处很多.meta 的属性有两种:name和 ...

  8. 【C语言】17-预处理指令3-文件包含

    这讲介绍最后一个预处理指令---文件包含 一.基本概念 其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中. 二.一般形式 1.第1种形式#inc ...

  9. [转] - 经典SQL语句大全

    经典SQL语句大全 一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql serv ...

  10. [转] - SendMessage、PostMessage原理

    SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别 ...