共计 955 个字符,预计需要花费 3 分钟才能阅读完成。
本人在做自动化测试的时候,有时候会遇到需要登录特定帐号进行测试,但可能已经登录了其他帐号了,导致用例失败的问题。所以需要在验证登录的时候再做一个判断,在修改代码的时候,突然想起了递归函数,复习了一下,尝试之后感觉很省事儿,特别方便。分享一下代码,供大家参考。
// 登录学生 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 思路也是一样的,就不再贴代码了。
一起来~FunTester
正文完