本人在做自动化测试的时候,有时候会遇到需要登录特定帐号进行测试,但可能已经登录了其他帐号了,导致用例失败的问题。所以需要在验证登录的时候再做一个判断,在修改代码的时候,突然想起了递归函数,复习了一下,尝试之后感觉很省事儿,特别方便。分享一下代码,供大家参考。
//登录学生app
public void login() throws UiObjectNotFoundException {
clickMe();//点击我的
if (getUiObjectByResourceId("com.gaotu100.superclass:id/mylexuefragment_user_phone").exists()) {
String id = getTextByResourceId("com.gaotu100.superclass:id/mylexuefragment_user_phone");
if (id.contains("132249") | id.contains("157568")) {
return;
} else {
exitApp();
login();
}
} else {
getUiObjectByResourceId("com.gaotu100.superclass:id/login_username").clearTextField();
pressTimes(KeyEvent.KEYCODE_FORWARD_DEL, 12);//清除已有帐号
getUiObjectByResourceId("com.gaotu100.superclass:id/login_username").setText("13120454218");//输入帐号
getUiObjectByResourceId("com.gaotu100.superclass:id/login_password").setText("qqqqqq");//输入密码
getUiObjectByResourceId("com.gaotu100.superclass:id/login_button").clickAndWaitForNewWindow();//点击登录
}
}
这个是UiAutomator的方法,selenium思路也是一样的,就不再贴代码了。
点击阅读原文,有兴趣的童鞋可以加QQ群交流