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.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 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_", 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();
  }
 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));
 }
Exemple #6
0
  public void testRun() {
    /** Given: I am logged into a valid user profile starting from the main restaurant list */
    // Wait for activity: 'com.woww.woww.BaseDrawer'
    solo.waitForActivity(com.woww.woww.BaseDrawer.class, 2000);
    // Set default small timeout to 23836 milliseconds
    Timeout.setSmallTimeout(23836);
    // Click on ImageView
    solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0));
    // Click on Log In
    solo.clickOnText(java.util.regex.Pattern.quote("Log In"));
    // Wait for activity: 'com.woww.woww.LoginActivity'
    assertTrue(
        "com.woww.woww.LoginActivity is not found!",
        solo.waitForActivity(com.woww.woww.LoginActivity.class));
    // Enter the text: 'changed'
    solo.clearEditText((android.widget.EditText) solo.getView(com.woww.woww.R.id.userName));
    solo.enterText((android.widget.EditText) solo.getView(com.woww.woww.R.id.userName), "changed");
    // Enter the text: 'c'
    solo.clearEditText((android.widget.EditText) solo.getView(com.woww.woww.R.id.password));
    solo.enterText((android.widget.EditText) solo.getView(com.woww.woww.R.id.password), "c");
    // Click on Login
    solo.clickOnView(solo.getView(com.woww.woww.R.id.loginButton));
    // Click on ImageView
    solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0));

    /** When: I go to the profile page */
    // Click on Profile
    solo.clickOnText(java.util.regex.Pattern.quote("Profile"));
    ParseUser user = ParseUser.getCurrentUser();
    TextView profile = (TextView) solo.getView(R.id.profileName);

    /** Then: It is my profile page */
    assertEquals(
        "check that on same user profile as login name", user.getUsername(), profile.getText());

    /** When: When I go to my reviews from the profile page */
    // Long click Restaurant:   Rubio's Rating:   Review:   itwas
    solo.clickLongInList(1, 1);
    // Wait for activity: 'com.woww.woww.ViewUserReviewsActivity'

    /** Then: I am brought to my reviews */
    assertTrue(
        "com.woww.woww.ViewUserReviewsActivity is not found!",
        solo.waitForActivity(com.woww.woww.ViewUserReviewsActivity.class));
    // Press menu back key
    solo.goBack();
    // Press menu back key
    solo.goBack();
  }
 public void testRun() {
   // Wait for activity: 'za.co.etollgantrytracker.MainActivity'
   solo.waitForActivity(za.co.etollgantrytracker.MainActivity.class, 2000);
   // Click on ImageView
   solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0));
   // Click on Vehicle settings
   solo.clickInList(1, 0);
   // Wait for activity: 'za.co.etollgantrytracker.VehicleSettingsActivity'
   assertTrue(
       "za.co.etollgantrytracker.VehicleSettingsActivity is not found!",
       solo.waitForActivity(TariffSettingsActivity.class));
   // Click on Non-registered - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio2));
   // Click on eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio3));
   // Click on Standard - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio4));
   // Click on Non-registered - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio5));
   // Click on eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio6));
   // Click on Standard - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio7));
   // Click on Non-registered - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio8));
   // Click on eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio9));
   // Click on Standard - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio1));
   // Click on Non-registered - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio2));
   // Click on eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio3));
   // Click on Non-registered - No eTag
   solo.clickOnView(solo.getView(za.co.etollgantrytracker.R.id.radio2));
   // Click on ImageView
   solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0));
   // Click on ImageView
   solo.clickOnView(solo.getView(android.widget.ImageButton.class, 0));
   // Click on Vehicle settings
   solo.clickInList(1, 0);
   // Wait for activity: 'za.co.etollgantrytracker.VehicleSettingsActivity'
   assertTrue(
       "za.co.etollgantrytracker.VehicleSettingsActivity is not found!",
       solo.waitForActivity(TariffSettingsActivity.class));
   // Press menu back key
   solo.goBack();
 }
  @Test
  public void openNewAssetClassForm() {
    View fab = getActivity().findViewById(R.id.fab);
    solo.clickOnView(fab);

    assertThat(solo.waitForActivity(AssetClassEditActivity.class)).isTrue();
  }
  @Test
  public void createAndDeleteAssetClass() {
    // Given

    String assetClassName = "cash";
    UiTestHelpersRobotium robot = new UiTestHelpersRobotium(solo);

    robot.clickOnFloatingButton();
    solo.waitForActivity(AssetClassEditActivity.class);

    EditText editText = (EditText) solo.getView(R.id.nameEdit);
    solo.enterText(editText, assetClassName);

    solo.clickOnView(solo.getView(R.id.allocationEdit));
    robot.enterInNumericInput("2.54");
    solo.clickOnText("OK");

    // save
    robot.clickDone();

    // confirm that the new item is listed
    assertThat(solo.searchText(assetClassName)).isTrue();

    //        solo.clickLongOnText(assetClassName);
    solo.clickOnText(assetClassName);
    solo.clickOnText("Delete");
    solo.clickOnText("OK");

    // Then

    assertThat(solo.searchText(assetClassName)).isFalse();
  }
  public void testRun() {
    // Wait for activity: 'com.fitbit.onboarding.landing.LandingActivity_'
    solo.waitForActivity("LandingActivity_", 500);

    // Click on Log in
    solo.clickOnView(solo.getView("btn_log_in"));
    // Wait for activity: 'com.fitbit.onboarding.login.LoginActivity'
    assertTrue("LoginActivity is not found!", solo.waitForActivity("LoginActivity"));
    solo.clearEditText(0);
    solo.enterText(0, "*****@*****.**");

    solo.enterText(1, "wellness");
    // Click on Log in
    solo.clickOnView(solo.getView("login_button"));
    // Wait for activity: 'com.fitbit.home.ui.HomeActivity_'
    assertTrue("HomeActivity is not found!", solo.waitForActivity("HomeActivity"));
  }
  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");
  }
 public void singleAsyncFragment() {
   solo.clearLog();
   Log.d("BackgroundTasksTest", "singleAsyncFragment");
   solo.setActivityOrientation(Solo.PORTRAIT);
   solo.waitForActivity(MainActivity.class, 5000);
   solo.clickOnButton("Frg Task");
   assertTrue("Task not started", solo.waitForLogMessage("onTaskReady task 0", 1000));
   solo.setActivityOrientation(Solo.LANDSCAPE);
   assertTrue(
       "Task did not publish progress", solo.waitForLogMessage("onTaskProgress task 0", 3000));
   assertTrue("Task did not succeed", solo.waitForLogMessage("onTaskSuccess task 0", 5000));
 }
  public void testRun() {

    solo.waitForActivity("LandingActivity_", 500);

    solo.clickOnText("out");

    solo.waitForActivity("FoodLoggingLandingActivity_");

    solo.clickOnView(solo.getView("add_item"));
    solo.clickOnView(solo.getView("search"));

    solo.enterText(0, "lasag");
    solo.clickOnText("Lasagna Entree");
    solo.waitForActivity("LogFoodActivity_");

    solo.clickOnView(solo.getView("txt_date"));

    solo.setDatePicker(0, 2014, 5, 10);

    solo.clickOnView(solo.getView(android.R.id.button1));
  }
  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"));
  }
Exemple #16
0
  public void testRun() throws InterruptedException {
    /*
     GIVEN THAT I AM ON THE MAIN RESTAURANT LIST
    */
    // Wait for activity: 'com.woww.woww.BaseDrawer'
    solo.waitForActivity(com.woww.woww.BaseDrawer.class, 2000);
    // Set default small timeout to 20009 milliseconds
    Timeout.setSmallTimeout(30009);
    // Scroll to ImageView
    android.widget.ListView listView0 =
        (android.widget.ListView) solo.getView(android.widget.ListView.class, 0);

    ArrayList<Restaurant> res;
    solo.scrollListToLine(listView0, 0);
    /*
     WHEN I OPEN THE MENU AND CLICK SORT BY PRICE
    */
    solo.clickOnView(solo.getView(android.widget.ImageView.class, 1));
    solo.clickInList(2, 0);
    Thread.sleep(2000);
    res = getListViewArray((RestaurantListAdapter) listView0.getAdapter());
    /*
    THEN THE LIST SHOULD BE SORTED BY PRICE IN ASCENDING ORDER
    */
    assertTrue(isOrderingValid(res, "price"));
    /*
     WHEN I OPEN THE MENU AND CLICK SORT BY RATING
    */
    solo.clickOnView(solo.getView(android.widget.ImageView.class, 1));
    solo.clickInList(3, 0);
    Thread.sleep(2000);
    res = getListViewArray((RestaurantListAdapter) listView0.getAdapter());
    /*
    THEN THE LIST SHOULD BE SORTED BY RATING IN DESCENDING ORDER
    */
    assertTrue(isOrderingValid(res, "rating"));
    /*
     WHEN I OPEN THE MENU AND CLICK SORT BY NAME
    */
    solo.clickOnView(solo.getView(android.widget.ImageView.class, 1));
    solo.clickInList(1, 0);
    Thread.sleep(5000);
    res = getListViewArray((RestaurantListAdapter) listView0.getAdapter());
    /*
     THEN THE LIST SHOULD BE SORTED BY NAME IN ALPHABETICAL ORDER
    */
    assertTrue(isOrderingValid(res, "name"));
  }
  public void testSearchCollections() {
    solo.waitForActivity("HomeActivity");
    solo.enterText(0, "Rat Deck");
    solo.clickOnButton("Search");

    Condition no80s =
        new Condition() {
          @Override
          public boolean isSatisfied() {
            return !solo.searchText("80s");
          }
        };
    solo.waitForCondition(no80s, 5000);
    Assert.assertTrue(no80s.isSatisfied());
    Assert.assertTrue(solo.searchText("Magic"));
  }
  public void testRun() {
    getInstrumentation().addMonitor(LoginActivity.class.getName(), null, true);
    solo.waitForActivity(LoginActivity.class.getSimpleName(), 200000);
    sleep(10000);

    MotionEvent newTouch;
    while (true) {
      newTouch =
          MotionEvent.obtain(
              SystemClock.uptimeMillis(),
              SystemClock.uptimeMillis(),
              MotionEvent.ACTION_DOWN,
              755,
              1055,
              0);
      getInstrumentation().sendPointerSync(newTouch);
      newTouch =
          MotionEvent.obtain(
              SystemClock.uptimeMillis(),
              SystemClock.uptimeMillis(),
              MotionEvent.ACTION_UP,
              755,
              1055,
              0);
      getInstrumentation().sendPointerSync(newTouch);
      sleep(10000);
      newTouch =
          MotionEvent.obtain(
              SystemClock.uptimeMillis(),
              SystemClock.uptimeMillis(),
              MotionEvent.ACTION_DOWN,
              96,
              156,
              0);
      getInstrumentation().sendPointerSync(newTouch);
      newTouch =
          MotionEvent.obtain(
              SystemClock.uptimeMillis(),
              SystemClock.uptimeMillis(),
              MotionEvent.ACTION_UP,
              96,
              156,
              0);
      getInstrumentation().sendPointerSync(newTouch);
      sleep(10000);
    }
  }
  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);
  }
  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: '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"));
  }
  /**
   * 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();
    }
  }
  /*

      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
 public void formOpens() {
   assertThat(solo.waitForActivity(getActivity().getClass().getSimpleName())).isTrue();
 }