我已經能夠自動化我的應用程序的整個流程。我有一個處理流程自動化的testMethod()。我想將這個單一的方法分成幾個其他的方法來提高我的代碼的可讀性。然而,如果我將測試方法分解爲其他方法,我在這裏有一個問題,首先,執行的順序必須小心,更重要的是,一旦一個測試成功運行並關閉活動,我的Activity就會死亡,從而使以下測試成爲可能失敗。在Robotium中將testMethod()拆分爲多個testMethods() - Android JUnit測試用例
我該怎麼辦?有沒有什麼辦法可以將我的testMethod分成幾個testMethods()而沒有關閉活動?
包括我目前TestMethod的()
public void testApp() throws BiffException, IOException {
Excel rd= new Excel();
rd.read();
user = rd.getUser();
pass = rd.getPass();
bp = rd.getBill();
rdc = rd.getRdc();
pr = rd.getPr();
// Login to the application
solo.enterText(0,user); // Enter user name
solo.sleep(1000);
solo.enterText(1,"xxx"); //some random password
solo.sleep(1000);
solo.clickOnButton(1); // Try Login! (bad login)
solo.sleep(5000);
solo.clickOnButton(0);
solo.sleep(2500);
solo.enterText(1,pass); // Enter Password (authentic password)
solo.sleep(2500);
solo.clickOnButton(1); // Try Login! (Valid login)
solo.sleep(10000);
// MFA
solo.clickOnButton(0); // choose Text Me (xxx-xxx-3576)
solo.sleep(20000);
//Account Summary
solo.clickOnButton(0);
solo.sleep(15000);
//Account History
if(solo.searchText(ch)){
solo.clickOnText(ch);
solo.sleep(10000);
}
else if (solo.searchText(sv)){
solo.clickOnText(sv);
solo.sleep(10000);
}
else{
solo.clickInList(1);
}
//Transfers
solo.clickOnMenuItem("Transfers");
solo.sleep(10000);
solo.clickOnText("From"); //choose 'From' account
solo.sleep(5000);
solo.clickInList(1); //click on first available account
solo.sleep(5000);
solo.clickOnText("To"); //choose 'To' account
solo.sleep(5000);
solo.clickInList(2); //click on second available account
solo.sleep(5000);
solo.clickOnText("Amount"); //Amount to transfer
solo.sleep(10000);
solo.typeText(0,"10.00"); //enter amount for over limit transfer
solo.sleep(5000);
solo.clickOnButton("Transfer");
solo.sleep(10000);
solo.clickOnButton(0);
solo.sleep(5000);
//Bill Pay
if(bp.equalsIgnoreCase(flag)){
solo.clickOnMenuItem("Bills");
solo.sleep(10000);
}
//RDC
if (rdc.equalsIgnoreCase(flag)) {
solo.clickOnMenuItem("Deposits");
solo.sleep(10000);
//solo.scrollUp();
//solo.sleep(10000);
}
//PR
if(pr.equalsIgnoreCase(flag)){
solo.clickOnMenuItem("Rewards");
solo.sleep(1000);
}
//More
solo.clickOnMenuItem("More");
solo.sleep(10000);
//Call
solo.clickOnButton(0);
solo.sleep(10000);
solo.clickOnButton(0); //cancel
solo.sleep(10000);
//Logout
solo.clickOnImage(0); //click on Logout
solo.sleep(5000);
solo.clickOnButton(1); //to cancel the logout
solo.sleep(5000);
solo.clickOnImage(0); //click on Logout
solo.sleep(10000);
solo.clickOnButton(0); //Yes
solo.sleep(10000);
}
期待您的幫助!
在此先感謝!