public static void checkFilterLayout(Solo solo) throws Exception { View ScrollBar = solo.getView("seekbar", 0); View TableRowOne = solo.getView("tableRow1", 0); View TableRowTwo = solo.getView("tableRow2", 0); View TableRowThree = solo.getView("tableRow3", 0); solo.sleep(3000); boolean views = ScrollBar.isShown() && TableRowOne.isShown() && TableRowTwo.isShown() && TableRowThree.isShown(); junit.framework.Assert.assertTrue("views not found.", views); }
public void testValidLoginActivity() throws Exception { // Unlock the lock screen. solo.unlockScreen(); // Assert that LoginActivity is opened. solo.assertCurrentActivity("Expected LoginActivity", "LoginActivity"); // Enter a valid Email and password solo.enterText((EditText) solo.getView("email_address"), "*****@*****.**"); solo.enterText((EditText) solo.getView("password"), "abc123456"); // Click on login button Activity currentAcctivity = solo.getCurrentActivity(); int id = currentAcctivity .getResources() .getIdentifier("btn_login", "id", currentAcctivity.getPackageName()); Button login_btn = (Button) solo.getView(id); solo.clickOnView(login_btn); System.out.print(solo.getCurrentActivity()); // Activity activity = solo.getCurrentActivity(); // boolean authSuceess = !activity.equals(LoginActivity.class); // assertTrue("Sucessfully log in", authSuceess); solo.sleep(1000); System.out.print(solo.getCurrentActivity()); solo.clickOnMenuItem("Logout", true); ; solo.sleep(300); }
public void testInvalidLoginActivity() throws Exception { // Unlock the lock screen. solo.unlockScreen(); // Assert that LoginActivity is opened. Activity currentAcctivity = solo.getCurrentActivity(); solo.assertCurrentActivity("Expected LoginActivity", "LoginActivity"); solo.sleep(3000); // if user session isLogin = solo.waitForActivity("LoginActivity"); if (!isLogin) { solo.clickOnMenuItem("Logout", true); } // Enter a valid Email and password solo.enterText((EditText) solo.getView("email_address"), "*****@*****.**"); solo.enterText((EditText) solo.getView("password"), "wrongPassword"); // Click on login button int id = currentAcctivity .getResources() .getIdentifier("btn_login", "id", currentAcctivity.getPackageName()); Button login_btn = (Button) solo.getView(id); solo.clickOnView(login_btn); // Check if login solo.assertCurrentActivity("Invalid user can not log in, test pass!", LoginActivity.class); solo.sleep(2000); isLogin = solo.waitForActivity("LoginActivity"); if (!isLogin) { solo.clickOnMenuItem("Logout", true); } }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 500); // Wait for activity: 'com.fitbit.home.ui.HomeActivity_' assertTrue("HomeActivity_ is not found!", solo.waitForActivity("HomeActivity_")); solo.sleep(500); solo.clickOnView(solo.getView("tile_content", 1)); // Wait for activity: 'com.fitbit.runtrack.ui.ExerciseListActivity' assertTrue("ExerciseListActivity is not found!", solo.waitForActivity("ExerciseListActivity")); // sleep for x seconds solo.sleep(500); // Click on Empty Text View solo.clickOnView(solo.getView("new_exercise")); // Wait for activity: 'com.fitbit.runtrack.ui.RecordExerciseActivity' assertTrue( "RecordExerciseActivity is not found!", solo.waitForActivity("RecordExerciseActivity")); // sleep for x seconds solo.sleep(500); solo.goBack(); solo.scrollToSide(Solo.LEFT); solo.clickOnView(solo.getView("track_type")); // Click on Walk solo.clickOnView(solo.getView(android.R.id.text1, 1)); solo.sleep(500); }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 500); // Wait for activity: 'com.fitbit.home.ui.HomeActivity_' assertTrue("HomeActivity_ is not found!", solo.waitForActivity("HomeActivity_")); solo.sleep(500); solo.clickOnView(solo.getView("tile_content", 1)); // Wait for activity: 'com.fitbit.runtrack.ui.ExerciseListActivity' assertTrue("ExerciseListActivity is not found!", solo.waitForActivity("ExerciseListActivity")); // sleep for x seconds solo.sleep(500); // Click on Empty Text View solo.clickOnView(solo.getView("new_exercise")); // Wait for activity: 'com.fitbit.runtrack.ui.RecordExerciseActivity' assertTrue( "RecordExerciseActivity is not found!", solo.waitForActivity("RecordExerciseActivity")); // sleep for x seconds solo.sleep(500); solo.clickOnText(java.util.regex.Pattern.quote("Log Previous")); solo.enterText(0, "yoga"); solo.clickOnText(java.util.regex.Pattern.quote("Yoga")); solo.clickOnText(java.util.regex.Pattern.quote("30:00")); solo.setTimePicker(0, 23, 59); solo.clickOnView(solo.getView(android.R.id.button1)); solo.clickOnView(solo.getView("confirm")); solo.clickOnView(solo.getView(android.R.id.button1)); }
public void testLocationHandling() { solo.clickOnToggleButton(startStopButton.getText().toString()); solo.sleep(1000); System.out.println("DEBUG: CLICKED"); Location locationA = createLocation((float) 47.058765, (float) 15.459198, 355.112); System.out.println("DEBUG: Send first Location"); sendLocation(locationA); solo.sleep(1100); assertEquals("Is first Location send", "0.0m", distanceTextView.getText().toString()); assertEquals("Is altitude set correct", "0.0m", altitudeTextView.getText().toString()); Location locationB = createLocation((float) 47.069523, (float) 15.450572, 354.110); sendLocation(locationB); solo.sleep(1000); double altitude = 355.112 - 354.110; System.out.println("DEBUG: expected distance " + locationB.distanceTo(locationA)); assertEquals( "Is second Location send", locationB.distanceTo(locationA) + "m", distanceTextView.getText().toString()); assertEquals( "Is altitude calculated correct?", altitude + "m", altitudeTextView.getText().toString()); }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 2000); // Wait for activity: 'com.fitbit.home.ui.HomeActivity_' assertTrue("HomeActivity_ is not found!", solo.waitForActivity("HomeActivity_")); // sleep - shot solo.sleep(500); // Click on -- bpm 64 bpm resting solo.clickInList(3, 0); // Wait for activity: 'com.fitbit.heartrate.landing.HeartRateLandingActivity' assertTrue( "HeartRateLandingActivity is not found!", solo.waitForActivity("HeartRateLandingActivity")); // sleep - shot solo.sleep(500); // Scroll View to the right side solo.scrollViewToSide(solo.getView(android.view.ViewGroup.class, 19), Solo.RIGHT); // sleep - shot solo.sleep(500); solo.clickOnText(java.util.regex.Pattern.quote("Minutes in")); // Wait for activity: 'com.fitbit.heartrate.charts.ExerciseHeartRateChartActivity_' assertTrue( "ExerciseHeartRateChartActivity is not found!", solo.waitForActivity("ExerciseHeartRateChartActivity")); // Rotate the screen solo.setActivityOrientation(Solo.LANDSCAPE); // Click on 1 WEEK solo.clickOnText(java.util.regex.Pattern.quote("1 WEEK")); // solo.clickOnText(java.util.regex.Pattern.quote("TIME IN HEART RATE ZONES")); solo.clickOnText(java.util.regex.Pattern.quote("Fat Burn")); solo.clickOnText(java.util.regex.Pattern.quote("Cardio")); solo.clickOnText(java.util.regex.Pattern.quote("Peak")); solo.scrollToSide(Solo.LEFT); solo.scrollToSide(Solo.LEFT); solo.scrollToSide(Solo.LEFT); solo.scrollToSide(Solo.LEFT); solo.scrollToSide(Solo.RIGHT); solo.scrollToSide(Solo.RIGHT); solo.scrollToSide(Solo.RIGHT); solo.scrollToSide(Solo.LEFT); solo.scrollToSide(Solo.RIGHT); solo.sleep(500); solo.goBack(); }
/** * Test if the button is navigating user between activities correctly. Since the GUI is skeleton * now, this button is not tested: Stats */ public void testRes_Navigation() { innerFunction(childrenButton, childrenList.class); innerFunction(locationButton, locationList.class); solo.clickOnView(logOutButton); solo.sleep(500); solo.assertCurrentActivity("ERR - Could not jump to login screen.", Login.class); }
public void chainAsyncFragmentCancel() { Log.d("BackgroundTasksTest", "chainAsyncFragmentCancel"); solo.setActivityOrientation(Solo.PORTRAIT); solo.clickOnButton("Frg Chain"); solo.sleep(1000); solo.setActivityOrientation(Solo.LANDSCAPE); solo.clickOnButton("Frg Cancel Chain"); assertTrue("Chain did not cancel", solo.waitForLogMessage("onTaskCancel task 0", 3000)); }
// the function just for help to minimize and reuse the code private void innerFunction(Button btn, Class cls) { solo.clickOnView(btn); solo.sleep(500); solo.assertCurrentActivity("ERR - Could not jump to children list.", cls); solo.hideSoftKeyboard(); solo.goBack(); solo.goBack(); solo.assertCurrentActivity("ERR - Could not jump back from children list.", researcher.class); }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 2000); // Sleep for x milliseconds solo.sleep(500); // screenshot solo.takeScreenshot("d_e_termsPrivacy_a_launch"); // Click on Join Fitbit solo.clickOnView(solo.getView("btn_join_fitbit")); // Wait for activity: 'com.fitbit.onboarding.setup.CheckDeviceActivity_' assertTrue("CheckDeviceActivity_ is not found!", solo.waitForActivity("CheckDeviceActivity_")); // Wait for activity: 'com.fitbit.device.ui.setup.choose.ChooseTrackerActivity_' assertTrue( "ChooseTrackerActivity_ is not found!", solo.waitForActivity("ChooseTrackerActivity_")); // Sleep for x milliseconds solo.sleep(500); // screenshot solo.takeScreenshot("d_e_termsPrivacy_b_deviceList"); // Click on Charge HR Wireless Heart Rate + sleep wristband with display solo.clickInList(2, 0); // Wait for activity: 'com.fitbit.device.ui.setup.choose.ConfirmDeviceActivity_' assertTrue( "ConfirmDeviceActivity_ is not found!", solo.waitForActivity("ConfirmDeviceActivity_")); // Sleep for x milliseconds solo.sleep(500); // screenshot solo.takeScreenshot("d_e_termsPrivacy_c_chargeHR"); // Click on Set up your Charge HR solo.clickOnView(solo.getView("btn_setup")); // Wait for activity: 'com.fitbit.onboarding.login.LoginActivity' assertTrue("LoginActivity is not found!", solo.waitForActivity("LoginActivity")); solo.enterText(0, "*****@*****.**"); solo.enterText(1, "spoon123"); solo.clickOnView(solo.getView("termsCheckBox")); // Click on Create an account solo.clickOnView(solo.getView("login_button")); // Wait for activity: 'com.fitbit.onboarding.profile.AboutYouActivity_' assertTrue("AboutYouActivity is not found!", solo.waitForActivity("AboutYouActivity")); }
public void testRun() { // Wait for activity: 'course.labs.locationlab.PlaceViewActivity' solo.waitForActivity(course.labs.locationlab.PlaceViewActivity.class, 2000); // Set default small timeout to 55372 milliseconds Timeout.setSmallTimeout(55372); // Click on action bar item solo.clickOnActionBarItem(course.labs.locationlab.R.id.place_one); solo.sleep(2000); // Click on Get New Place solo.clickOnView(solo.getView(course.labs.locationlab.R.id.footer)); solo.sleep(5000); // Click on action bar item solo.clickOnActionBarItem(course.labs.locationlab.R.id.print_badges); }
// Check whether the application is first started. public static void testFirstLaunch(Solo solo) throws Exception { solo.sleep(3000); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(solo.getCurrentActivity()); boolean flag = prefs.getBoolean("Time", false); if (!flag) { solo.sleep(3000); solo.clickOnView(solo.getView("welcome_skip")); solo.sleep(2000); solo.clickOnView(solo.getView("category_editor_ok_btn")); solo.sleep(2000); SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("Time", true); editor.commit(); junit.framework.Assert.assertTrue("Not the first time launch app", true); } else { junit.framework.Assert.assertTrue("Not the first time launch app", true); } }
public void testRun() { int delay = 2000; int longDelay = 5000; // Wait for activity: 'course.labs.locationlab.PlaceViewActivity' solo.waitForActivity(course.labs.locationlab.PlaceViewActivity.class, delay); // Click on action bar item solo.clickOnActionBarItem(course.labs.locationlab.R.id.place_one); solo.sleep(delay); // Click on Get New Place assertTrue( "Footer view isn't visible", solo.waitForView(course.labs.locationlab.R.id.footer, 0, delay)); solo.clickOnView(solo.getView(course.labs.locationlab.R.id.footer)); solo.sleep(2000); // Assert that PlaceBadge is shown assertTrue( "PlaceBadge is not shown!", solo.waitForText(solo.getString(R.string.the_greenhouse_string), 1, longDelay)); // Click on action bar item solo.clickOnActionBarItem(course.labs.locationlab.R.id.place_one); solo.sleep(delay); // Click on Get New Place solo.clickOnView(solo.getView(course.labs.locationlab.R.id.footer)); String samePlaceString = solo.getString(course.labs.locationlab.R.string.duplicate_location_string); // Assert that duplicate location Toast is shown assertTrue(samePlaceString + " is not shown!", solo.waitForText(samePlaceString, 1, longDelay)); }
public void testRun() { // Wait for activity: 'it.feio.android.omninotes.MainActivity' solo.waitForActivity(it.feio.android.omninotes.MainActivity.class, 4000); // Set default small timeout to 30522 milliseconds Timeout.setSmallTimeout(30522); // Click on ImageView solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.fab_expand_menu_button)); // Click on LinearLayout solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.reminder_layout)); // Check that no reminder is set assertEquals( ((TextView) solo.getView(it.feio.android.omninotes.R.id.datetime)) .getText() .toString() .length(), 0); // Wait for dialog solo.waitForDialogToOpen(5000); // Click on Done solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.done)); // Wait for dialog solo.waitForDialogToOpen(5000); // Click on Done solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.done_button)); // Check if a reminder is present assertNotNull( ((TextView) solo.getView(it.feio.android.omninotes.R.id.datetime)).getText().toString()); // Click on Empty Text View solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.menu_attachment)); // Click on Sketch solo.clickOnView(solo.getView(it.feio.android.omninotes.R.id.sketch)); // Draw a line solo.drag(222.79372F, 470.5643F, 590.6923F, 1048.4539F, 40); // Click on ImageView solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0)); // Wait for thumbnail solo.sleep(1000); // Click on RelativeLayout solo.clickInList(1, 0); // Wait for activity: 'it.feio.android.omninotes.GalleryActivity' assertTrue( "it.feio.android.omninotes.GalleryActivity is not found!", solo.waitForActivity(it.feio.android.omninotes.GalleryActivity.class)); // Click on ImageView solo.clickOnView(solo.getView(android.widget.ImageView.class, 0)); // Click on ImageView solo.clickOnView(solo.getView(android.widget.ImageView.class, 0)); // Click on ImageView solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0)); // Click on ImageView solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0)); }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 500); // Wait for activity: 'com.fitbit.home.ui.HomeActivity_' assertTrue("HomeActivity is not found!", solo.waitForActivity("HomeActivity")); // Sleep solo.sleep(500); // Click on steps solo.clickOnText(java.util.regex.Pattern.quote("floors")); solo.takeScreenshot("b_tileDetails_a_a_steps_b_tapTile"); // Wait for activity: 'com.fitbit.activity.ui.landing.ActivityLandingActivity_' assertTrue( "ActivityLandingActivity is not found!", solo.waitForActivity("ActivityLandingActivity")); // Sleep solo.sleep(500); solo.clickOnText(java.util.regex.Pattern.quote("Aug 5")); solo.clickOnText(java.util.regex.Pattern.quote("floors")); }
public void testRun() { int delay = 2000; // Wait for activity: 'com.example.ignaciogiagante.modernartui.MainActivity' solo.waitForActivity(com.example.ignaciogiagante.modernartui.MainActivity.class, delay); // Wait for view: 'R.id.seekbar' assertTrue("progressBar not found", solo.waitForView(R.id.seekbar)); View view = solo.getCurrentActivity().findViewById(R.id.first_vertical); ColorDrawable colorDrawable = (ColorDrawable) view.getBackground(); SeekBar seekBar = (SeekBar) solo.getCurrentActivity().findViewById(R.id.seekbar); // Check color with progress bar position 0 solo.setProgressBar(seekBar, 0); solo.sleep(delay); int intColor = colorDrawable.getColor(); String strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#6A77B7", strColor); // Check color with progress bar position 51 solo.setProgressBar(seekBar, 51); solo.sleep(delay); intColor = colorDrawable.getColor(); strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#78B2C6", strColor); // Check color with progress bar position 102 solo.setProgressBar(seekBar, 102); solo.sleep(delay); intColor = colorDrawable.getColor(); strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#86D4BC", strColor); // Check color with progress bar position 153 solo.setProgressBar(seekBar, 153); solo.sleep(delay); intColor = colorDrawable.getColor(); strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#96E3A1", strColor); // Check color with progress bar position 204 solo.setProgressBar(seekBar, 204); solo.sleep(delay); intColor = colorDrawable.getColor(); strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#C7F1A6", strColor); // Check color with progress bar position 255 solo.setProgressBar(seekBar, 255); solo.sleep(delay); intColor = colorDrawable.getColor(); strColor = String.format("#%06X", 0xFFFFFF & intColor); assertEquals("#FFFFB7", strColor); }
public void testRun() { // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_' solo.waitForActivity("LandingActivity_", 2000); solo.clickOnText(java.util.regex.Pattern.quote("asleep")); solo.takeScreenshot("f_sleep_e1"); // Wait for activity: 'com.fitbit.sleep.ui.landing.SleepLoggingLandingActivity' assertTrue( "SleepLoggingLandingActivity is not found!", solo.waitForActivity("SleepLoggingLandingActivity")); // Sleep solo.sleep(1000); solo.takeScreenshot("f_sleep_e2"); // Click on Empty Text View // solo.clickOnView(solo.getView(android.widget.TextView.class, 24)); solo.clickOnScreen(1290, 255); // Sleep solo.sleep(1000); // solo.takeScreenshot("f_sleep_a3"); // Click on Begin Sleep Now solo.clickInList(2, 0); // Wait for activity: 'com.fitbit.sleep.ui.SleepRecordActivity' assertTrue("SleepRecordActivity is not found!", solo.waitForActivity("SleepRecordActivity")); // Sleep solo.sleep(65000); solo.takeScreenshot("f_sleep_e4"); // Click on I'm Awake solo.clickOnView(solo.getView("awakeButton")); // Sleep solo.sleep(1000); solo.takeScreenshot("f_sleep_e5"); // Click on View Summary solo.clickOnView(solo.getView("awakeButton")); // Sleep solo.sleep(1500); solo.takeScreenshot("f_sleep_e6"); solo.goBack(); // Sleep solo.sleep(1500); solo.takeScreenshot("f_sleep_e7"); }
/* This test will simulate a user accept a request for her ride and create a group. Since we can not accept requests now, this test can only create a group. */ public void testAcceptance_4() throws Exception { // Email : [email protected] Password:123 // Unlock the lock screen. solo.unlockScreen(); solo.enterText((EditText) solo.getView("email_address"), email); solo.enterText((EditText) solo.getView("password"), password); // Click on login button currentActivity = solo.getCurrentActivity(); int id_login = currentActivity .getResources() .getIdentifier("btn_login", "id", currentActivity.getPackageName()); Button login_btn = (Button) solo.getView(id_login); solo.clickOnView(login_btn); solo.sleep(1000); currentActivity = solo.getCurrentActivity(); // click menu item int id_groups = currentActivity .getResources() .getIdentifier("my_groups", "id", currentActivity.getPackageName()); solo.sleep(500); solo.clickOnView(solo.getView(id_groups)); solo.sleep(1000); currentActivity = solo.getCurrentActivity(); int id_createAGroup = currentActivity .getResources() .getIdentifier("button_createagroup", "id", currentActivity.getPackageName()); solo.clickOnView(solo.getView(id_createAGroup)); solo.sleep(1000); // Wait for CreateAGroupActivity solo.waitForActivity("CreateAGroupActivity"); Activity currentAcctivity = solo.getCurrentActivity(); solo.enterText((EditText) solo.getView("createGroupName"), "TestGroup"); // select group type int GroupCategroyId = currentAcctivity .getResources() .getIdentifier("pasttimeButton", "id", currentAcctivity.getPackageName()); RadioButton pasttimeButton = (RadioButton) solo.getView(GroupCategroyId); solo.clickOnView(pasttimeButton); solo.enterText( (EditText) solo.getView("createGroupDescription"), "This group is created to test this function."); int mapButton = currentAcctivity .getResources() .getIdentifier("createFixedPointAddress", "id", currentAcctivity.getPackageName()); Button createFixedPointAddress = (Button) solo.getView(mapButton); solo.clickOnView(createFixedPointAddress); // select pin boolean initialID = solo.waitForFragmentById( R.id .map); // where id.satellite is defined in the R file, eventually would time out and // throw error if fragment was not present solo.sleep(1000); Activity mapActivity = solo.getCurrentActivity(); int map = mapActivity.getResources().getIdentifier("map", "id", currentAcctivity.getPackageName()); View mapView = solo.getView(map); solo.clickOnView(mapView); solo.sleep(1000); int mapSubmit = currentAcctivity .getResources() .getIdentifier("submit", "id", currentAcctivity.getPackageName()); Button btn_mapSubmit = (Button) solo.getView(mapSubmit); solo.clickOnView(btn_mapSubmit); solo.sleep(1000); // boolean back = solo.waitForActivity("creatAGroupActivity"); // assertTrue("Sucessfully back to activity", back); currentAcctivity = solo.getCurrentActivity(); int GroupTypeId = currentAcctivity .getResources() .getIdentifier("p1privateButton", "id", currentAcctivity.getPackageName()); RadioButton p1privateButton = (RadioButton) solo.getView(GroupTypeId); solo.clickOnView(p1privateButton); solo.sleep(500); int submit = currentAcctivity .getResources() .getIdentifier("btn_submit", "id", currentAcctivity.getPackageName()); Button btn_submit = (Button) solo.getView(submit); solo.clickOnView(btn_submit); solo.sleep(1000); solo.clickOnMenuItem("Logout", true); }
/** * Test method to check if the Sales Management Game is loaded with proper default initialization */ public void testPlayGridActivityLoadedWithData() { robotiumSolo.waitForActivity(com.shrikanthavale.salesmanagement.StartPageActivity.class, 2000); assertTrue( "com.shrikanthavale.salesmanagement.StartPageActivity is not found!", robotiumSolo.waitForActivity(com.shrikanthavale.salesmanagement.StartPageActivity.class)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.startPageStartButton)); assertTrue( "com.shrikanthavale.salesmanagement.PlayGridActivity is not found!", robotiumSolo.waitForActivity(com.shrikanthavale.salesmanagement.PlayGridActivity.class)); Timeout.setSmallTimeout(22015); while (true) { int randomNumber = (int) (Math.random() * (5 - 1)) + 1; System.out.println("****************" + randomNumber); switch (randomNumber) { case 1: robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); break; case 2: robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); case 3: robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); case 4: robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.upNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.leftNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.downNavigation)); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.rightNavigation)); default: break; } if (((PlayGridActivity) robotiumSolo.getCurrentActivity()).checkSufficientTimeCustomerTravel() || ((PlayGridActivity) robotiumSolo.getCurrentActivity()) .checkSufficientTimeCustomerVisit()) { robotiumSolo.sendKey(Solo.MENU); robotiumSolo.sleep(1000); robotiumSolo.waitForText(robotiumSolo.getString(R.string.refreshGrid)); robotiumSolo.clickOnActionBarItem(R.id.refresh_game); robotiumSolo.waitForDialogToOpen(); robotiumSolo.clickOnButton(robotiumSolo.getString(R.string.popupdialogConfirmButton)); robotiumSolo.waitForDialogToClose(); robotiumSolo.waitForDialogToOpen(); robotiumSolo.waitForDialogToClose(); continue; } robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.confirmSelection)); // get the current focus button Button focusedButton = ((PlayGridActivity) robotiumSolo.getCurrentActivity()).getFocusedButton(); if (focusedButton .getText() .toString() .trim() .equals(robotiumSolo.getString(R.string.emptystring)) || focusedButton.getText().toString().trim().contains("Start") || focusedButton.getText().toString().trim().contains("R")) { // non customer node was clicked assertTrue( "Non Customer node clicked error message missing", robotiumSolo.searchText(robotiumSolo.getString(R.string.nonnodeclickederrormessage))); continue; } else if (((PlayGridActivity) robotiumSolo.getCurrentActivity()) .getVisitedCustomers() .contains(focusedButton.getId())) { assertTrue( "Visited Customer node clicked error message missing", robotiumSolo.searchText(robotiumSolo.getString(R.string.alreadyvisitednode))); continue; } else { robotiumSolo.waitForDialogToOpen(); robotiumSolo.waitForDialogToClose(); assertTrue( "com.shrikanthavale.salesmanagement.CaseStudyDescriptionActivity is not found!", robotiumSolo.waitForActivity( com.shrikanthavale.salesmanagement.CaseStudyDescriptionActivity.class)); break; } } robotiumSolo.clickOnView(robotiumSolo.getView(R.id.scrollView1)); robotiumSolo.scrollDown(); robotiumSolo.scrollUp(); robotiumSolo.scrollDown(); robotiumSolo.scrollUp(); robotiumSolo.clickOnView( robotiumSolo.getView(com.shrikanthavale.salesmanagement.R.id.optionsNavigate)); robotiumSolo.waitForDialogToOpen(); assertTrue( "Loading Dialogue Missing", robotiumSolo.waitForText("Loading Option Details .... Please Wait")); robotiumSolo.waitForDialogToClose(); assertTrue( "com.shrikanthavale.salesmanagement.CaseStudyDescriptionActivity is not found!", robotiumSolo.waitForActivity( com.shrikanthavale.salesmanagement.CaseStudyOptionsActivity.class)); robotiumSolo.clickOnView(robotiumSolo.getView(R.id.scrollViewOptions)); robotiumSolo.scrollDown(); robotiumSolo.scrollUp(); robotiumSolo.scrollDown(); robotiumSolo.scrollUp(); robotiumSolo.clickOnRadioButton(0); robotiumSolo.clickOnRadioButton(1); robotiumSolo.clickOnRadioButton(2); robotiumSolo.clickOnRadioButton(1); Display display = robotiumSolo.getCurrentActivity().getWindowManager().getDefaultDisplay(); Instrumentation inst = getInstrumentation(); PackageManager pm = robotiumSolo.getCurrentActivity().getPackageManager(); Monkey monkey = new Monkey(display, packageToTest, inst, pm); for (int i = 0; i < NUM_EVENTS; i++) { monkey.nextRandomEvent(); } }
@Override protected void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); solo.sleep(5000); }
public void testCase1() { Log.d("xiacj", "test1()"); SharedPreferences preferences = getInstrumentation() .getTargetContext() .getSharedPreferences("com.tencent.mm_preferences", 0); String login_user_name = preferences.getString("login_user_name", ""); // 判断当前界面 String className = solo.getCurrentActivity().getClass().getSimpleName(); Log.e(TAG, "className:" + className + " user:"******"LauncherUI")) { Boolean b1 = solo.searchText("快捷方式"); if (b1) { Log.d(TAG, "found 界面: 快捷方式"); solo.clickOnButton("取消"); } Boolean b2 = solo.searchText("登录"); Boolean b3 = solo.searchText("语言"); if (b2 && b3) { Log.d(TAG, "found 界面: 登录、语言"); solo.clickOnButton("登录"); solo.sleep(2000); EditText editText; String str; editText = solo.getEditText(0); str = editText.getHint().toString(); Log.e(TAG, "hint text: " + str); solo.enterText(editText, name1); editText = solo.getEditText(0); str = editText.getHint().toString(); Log.e(TAG, "hint text: " + str); solo.enterText(editText, password); solo.clickOnText("登录"); } else { Boolean b4 = solo.searchText("遇到问题"); if (b4) { Log.d(TAG, "found 界面: 遇到问题"); EditText editText = solo.getEditText(0); String str = editText.getHint().toString(); Log.e(TAG, "hint text: " + str); solo.enterText(editText, password); solo.clickOnText("登录"); } } } else { solo.assertCurrentActivity("进入LoginHistoryUI", "LoginHistoryUI"); solo.waitForText("切换帐号"); solo.clickOnText("切换帐号"); solo.waitForView(ListView.class); ListView lv = solo.getView(ListView.class, 0); View itemView = lv.getChildAt(1); solo.clickOnView(itemView); solo.sleep(1000); // 断言进入登录界面 solo.assertCurrentActivity("进入LoginUI", "LoginUI"); solo.waitForView(solo.getButton(0)); solo.enterText(0, name); solo.enterText(1, password); solo.clickOnButton(0); solo.sleep(1000 * 3); } try { Log.e(TAG, "try>>>>>>>>>>>>>>>>>>>>>>>>"); solo.assertCurrentActivity("进入LauncherUI", "LauncherUI"); if (true) { // 点击发现 solo.waitForText("发现"); solo.clickOnText("发现"); solo.sleep(1000); Boolean b = solo.searchText("朋友圈") && solo.searchText("购物"); if (b) { Log.d(TAG, "进入发现"); } solo.sleep(2000); } } catch (Exception e) { Log.e(TAG, "catch:Exception e:" + e.getMessage()); } finally { Log.e(TAG, "finally>>>>>>>>>>>>>>>>>>>>>>>>doFinally"); // doFinally(); } solo.sleep(1000 * 3); }