上周写了一个班级功能的测试用例,这周完成了个人信息的测试用例,刚试过,没什么问题,写出来分享一下,烦请指正。
public void myInfo() throws UiObjectNotFoundException {//完整个人信息测试
startApp();checkLog();
alterName();
setGrade();
setSubject();
setSex();
alterTeachAge();
setIdentity();
setEducation();
alterUniversity();
alterSpecialty();
alterIntroduction();
alterTeachingFeature();
}
下面是具体的方法。
public void startApp() throws UiObjectNotFoundException {//启动app
UiDevice.getInstance().pressHome();
UiDevice.getInstance().pressHome();
clean();//清理后台程序
getUiObjectByText("点知教育").clickAndWaitForNewWindow();//打开app
outputNotable("app启动了!");
}
public void checkLog() throws UiObjectNotFoundException{//检查登录立即登录
setShort();
boolean log = true;
while(log){
UiObject me = new UiObject(new UiSelector().text("我"));
if (me.exists()) {//检查是否登录
outputNotable("已经登录了!");
log = false;
}else{
UiObject login = new UiObject(new UiSelector().resourceId("com.dianzhi.teacher.school:id/et_user"));
if (login.exists()) {//检查是否进入登录界面
login();//执行登录方法
Date start = new Date();
UiObject me1 = new UiObject(new UiSelector().text("我"));
while(!me1.exists()){//等待进入首页
sleep(100);
Date now = new Date();
long x = now.getTime() - start.getTime();
if (x>10000) {//超时提醒失败
outputNotable("登录失败!");
break;
}
}
}
}
}
setLong();
}
public void alterName() throws UiObjectNotFoundException{//修改名字
setShort();
getUiObjectByText("我").clickAndWaitForNewWindow();
getUiObjectByText("个人资料 > ").clickAndWaitForNewWindow();
String name = getUiObjextByResourceId("com.dianzhi.teacher.school:id/ed_name_my_infomation_activity").getText();
getUiObjectByText("老师:").clickAndWaitForNewWindow();
pressTimes(KeyEvent.KEYCODE_DEL, 6);
int a = new Random().nextInt(120);
if (a<40 && a >= 0) {
writeText("测试一");
getUiObjectByText("完成").clickAndWaitForNewWindow();
if (name == "测试一"){
UiDevice.getInstance().pressBack();
}else{
getUiObjectByText("保存").clickAndWaitForNewWindow();
}
getUiObjectByText("个人资料 > ").clickAndWaitForNewWindow();
String newname = getUiObjextByResourceId("com.dianzhi.teacher.school:id/ed_name_my_infomation_activity").getText();
assertEquals("修改名字失败!", "测试一", newname);
outputNotable("修改名字成功!");
UiDevice.getInstance().pressBack();
}else if (a<80 && a >= 40) {
writeText("测试二");
getUiObjectByText("完成").clickAndWaitForNewWindow();
if (name == "测试二"){
UiDevice.getInstance().pressBack();
}else{
getUiObjectByText("保存").clickAndWaitForNewWindow();
}
getUiObjectByText("个人资料 > ").clickAndWaitForNewWindow();
String newname = getUiObjextByResourceId("com.dianzhi.teacher.school:id/ed_name_my_infomation_activity").getText();
assertEquals("修改名字失败!", "测试二", newname);
outputNotable("修改名字成功!");
UiDevice.getInstance().pressBack();
}else if (a<120 && a >= 80) {
writeText("测试三");
getUiObjectByText("完成").clickAndWaitForNewWindow();
if (name == "测试三"){
UiDevice.getInstance().pressBack();
}else{
getUiObjectByText("保存").clickAndWaitForNewWindow();
}
getUiObjectByText("个人资料 > ").clickAndWaitForNewWindow();
String newname = getUiObjextByResourceId("com.dianzhi.teacher.school:id/ed_name_my_infomation_activity").getText();
assertEquals("修改名字失败!", "测试三", newname);
outputNotable("修改名字成功!");
UiDevice.getInstance().pressBack();
}
setLong();
}
public void setGrade() throws UiObjectNotFoundException{//随机设置年级
setShort();
getUiObjectByText("个人资料 > ").clickAndWaitForNewWindow();
String grade = getUiObjextByResourceId("com.dianzhi.teacher.school:id/class_tv").getText();
getUiObjectByText("年级:").clickAndWaitForNewWindow();
int num = new Random().nextInt(3);
switch (num) {
case 0:
getUiObjectByText("初中").clickAndWaitForNewWindow();
getUiObjectByText("保存"