【发布时间】:2016-07-20 05:42:46
【问题描述】:
当我尝试实例化 testAYLogout() 并运行应用程序时,testAXEndTrip() 也会运行。这是为什么呢?
public class ApplicationTest extends UiAutomatorTestCase {
public void testAYLogout() throws RemoteException, UiObjectNotFoundException {
//Get the device state
UiDevice myDevice = getUiDevice();
//menu button
UiObject menuButton = new UiObject(new UiSelector().className(android.widget.ImageButton.class.getName()).index(0));
//logout button
UiObject logoutButton = new UiObject(new UiSelector().className(android.widget.CheckedTextView.class.getName()).text("Logout"));
//yes button
UiObject yesButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("Yes"));
//no button
UiObject noButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("No"));
UiObject loginText = new UiObject(new UiSelector().className(android.widget.TextView.class.getName()).text("Login"));
if (!myDevice.isScreenOn()) {
myDevice.wakeUp();
}
//click menu button and wait for new window
menuButton.clickAndWaitForNewWindow();
assertTrue(logoutButton.exists());
//click logout
logoutButton.clickAndWaitForNewWindow();
//click no
noButton.clickAndWaitForNewWindow();
menuButton.clickAndWaitForNewWindow();
logoutButton.clickAndWaitForNewWindow();
//click yes button
yesButton.clickAndWaitForNewWindow();
assertTrue(loginText.exists());
}
public void testAXEndTrip() throws RemoteException, UiObjectNotFoundException {
//get device
UiDevice myDevice = getUiDevice();
//pick up location feild
UiObject okButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("Ok").index(0));
//end trip button
UiObject endTripButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("END TRIP").index(1));
//no button
UiObject noButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("No"));
//yes button
UiObject yesButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("Yes"));
//submit button
UiObject submitButton = new UiObject(new UiSelector().className(android.widget.Button.class.getName()).text("Submit"));
//rate button
UiObject rateButton = new UiObject(new UiSelector().className(android.widget.ImageButton.class.getName()).index(4));
//feedback field
UiObject feedback = new UiObject(new UiSelector().className(android.widget.EditText.class.getName()).index(1));
//map
UiObject map = new UiObject(new UiSelector().className(android.view.View.class.getName()).index(0));
//wake up device if screen is off
if (!myDevice.isScreenOn())
myDevice.wakeUp();
rateButton.waitForExists(5000);
rateButton.clickAndWaitForNewWindow();
feedback.setText("ride or die ma niguh");
submitButton.clickAndWaitForNewWindow();
assertTrue(map.exists());
}
}
那么这是我的主要课程
public class MainTest extends ApplicationTest{
public static void TestMain() throws RemoteException, UiObjectNotFoundException {
MainTest login = new MainTest();
login.testAYLogout();
}
}
【问题讨论】:
标签: java android testing android-testing android-uiautomator