appium testcase2

自己跑的两个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");

原文地址:https://www.cnblogs.com/cingchen/p/4324767.html