本人在作自動化測試的時候,有時候會遇到須要登陸特定賬號進行測試,但可能已經登陸了其餘賬號了,致使用例失敗的問題。因此須要在驗證登陸的時候再作一個判斷,在修改代碼的時候,忽然想起了遞歸函數,複習了一下,嘗試以後感受很省事兒,特別方便。分享一下代碼,供你們參考。git
//登陸學生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思路也是同樣的,就再也不貼代碼了。api
一塊兒來~FunTestermarkdown