[Android测试] AS+Appium+Java+Win 自动化测试之七: 写脚本测试自己的app
·
一、准备
测试对象: 守护2.2.3
测试功能: 登录
二、逻辑与控件
1. 测试的流程:
打开app,到达欢迎界面,点击登录,输入帐号密码,登录,判断是否登录成功。
逻辑注意点:
- 第一次打开会弹出引导页面,这个页面是另一个Activity:AboutActivity
- 已经登录过了,就会直接到首页
- 第一次到首页,会有一个dialog,这个会挡住首页
2. 获取控件
使用UIAutomatorViewer获取每个界面的控件。
引导页面的立即体验按钮id: about_go_button
欢迎页面的登录按钮id: welcome_login_btn
登录页面的登录按钮id: login_btn_login
首页页面TextView存在文字: 首页
二、编写脚本
package com.example;
import com.example.base.BaseAppium;
import com.example.base.Builder;
import org.testng.Assert;
import org.testng.annotations.Test;
/**
* 继承上一篇文章的类,里面封装了一些方法
*/
public class Login extends BaseAppium {
/**
* 构造器里面设置Builder,设置测试用例的参数,因为父类里面设置了默认属性了
* 所以这里不用设置也是可以的
*/
Login() {
super(new Builder()
.setAppActivity(".activity.login.WelcomeActivity")
.setAppPath("shouhu-debug.apk")
);
}
@Test(priority = 0)
public void startTest() throws InterruptedException {
sleep(1000);
//没有登录按钮,不是自动登录就是第一次打开
if(getCurrActivity().equals("AboutActivity")){
print("有关于界面");
for(int i=0; i<4; i++){
swipeToLeft(500);
sleep(500);
}
clickView(waitAutoById("about_go_button"),"about_go_button");
waitAuto();
//点击登录
clickView(findById("welcome_login_btn"),"welcome_login_btn");
}else if(isIdElementExist("welcome_login_btn",true)){
print("点击登录");
clickView(findById("welcome_login_btn"),"welcome_login_btn");
}else{//自动登录了就输出成功,返回
print("自动登录了,返回,结束测试");
return;
}
waitAuto();
//输入帐号密码
inputManyText("xxxxxxx","xxxxxx");
//点击登录
clickView(findById("login_btn_login"),"logibtn_login");
sleep(3);
//点击一下左下角,避免第一次打开的指导
press(10,getScreenHeight()-10);
//首页是否存在,不存在就会抛出错误
Assert.assertTrue(isNameElementExist("首页"),"判断是否到了首页");
}
}
这个脚本是没用到模式的,耦合度机就比较高。接下来讲一个模式,
更多推荐


所有评论(0)