public void testPostLocatedSearchAutoComplete() {
   solo.enterText(0, "sch");
   assertTrue(solo.waitForText("Schiphol", 0, TIMEOUT_MS));
   EmulatorTelnetClient.sendLocation(38.74419380, -90.09839319999999);
   assertTrue(solo.waitForText("Schlafly Tap Room", 0, TIMEOUT_MS));
   assertTrue(solo.waitForText("Schnucks", 0, TIMEOUT_MS));
 }
 public void testAddressSearch() {
   EmulatorTelnetClient.sendLocation(38.74419380, -90.09839319999999);
   solo.enterText(0, "4812 Danielle CT 62040");
   solo.clickOnImageButton(0);
   assertTrue(solo.waitForText("4812 Danielle Ct", 1, TIMEOUT_MS));
   assertTrue(solo.waitForText("Granite City, IL 62040", 1, 1));
   ListView resultsListView = (ListView) findView(R.id.listView_searchResults);
   checkDistanceOrder(resultsListView);
 }
 public void testSortingOfItemsStarredFirst() {
   addItem("aaa");
   createItem("bbb");
   addStarItem("aaa");
   setItemSorting("Starred First");
   solo.clickLongInList(0);
   assertTrue(solo.waitForText("Remove Star"));
   solo.goBack();
   solo.clickLongInList(2);
   assertTrue(solo.waitForText("Add Star"));
 }
 public void testSortingOfItemsStarredFirstSortNowButton() {
   setItemSorting("Starred First");
   addItem("aaa");
   createItem("bbb");
   addStarItem("aaa");
   solo.sendKey(Solo.MENU);
   solo.clickOnText("Sort Now");
   solo.clickLongInList(0);
   assertTrue(solo.waitForText("Remove Star"));
   solo.goBack();
   solo.clickLongInList(2);
   assertTrue(solo.waitForText("Add Star"));
 }
  // check if navigate to search result page
  public static void navigateToResultPage(Solo solo) throws Exception {

    solo.waitForText("筆結果", 1, 3000);
    junit.framework.Assert.assertTrue(
        "Failed to navigate to search result Screen",
        solo.searchText("商品") && solo.searchText("商店"));
  }
 public void testNameSearch() {
   EmulatorTelnetClient.sendLocation(38.74419380, -90.09839319999999);
   solo.enterText(0, "Schlafly Bottleworks");
   solo.clickOnImageButton(0);
   assertTrue(solo.waitForText("Schlafly Bottleworks", 1, TIMEOUT_MS));
   ListView resultsListView = (ListView) findView(R.id.listView_searchResults);
   checkDistanceOrder(resultsListView);
 }
  public void testMultipleSearch() {
    EmulatorTelnetClient.sendLocation(38.74419380, -90.09839319999999);
    solo.enterText(0, "Schlafly Bottleworks");
    solo.clickOnImageButton(0);
    assertTrue(solo.waitForText("Schlafly Bottleworks", 1, TIMEOUT_MS));
    solo.clearEditText(0);
    solo.enterText(0, "Schlafly Tap Room");
    solo.clickOnImageButton(0);
    assertTrue(solo.waitForText("Schlafly Tap Room", 1, TIMEOUT_MS));
    solo.clearEditText(0);
    solo.enterText(0, "church");
    solo.clickOnImageButton(0);
    assertTrue(solo.waitForText("Church", 1, TIMEOUT_MS));
    solo.clearEditText(0);
    solo.enterText(0, "1975 Krenning 63013");
    solo.clickOnImageButton(0);
    assertTrue(solo.waitForText("1975 Krenning Rd", 1, TIMEOUT_MS));

    ListView resultsListView = (ListView) findView(R.id.listView_searchResults);
    checkDistanceOrder(resultsListView);
  }
  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 static void noResultDisplay(Solo solo) throws Exception {

    solo.waitForText("筆結果", 1, 3000);
    junit.framework.Assert.assertTrue("There have searched esults.", solo.searchText("很抱歉"));
  }
 /** Same as Solo.waitForText(), but matching against full text, without regular expressions. */
 public static boolean waitForExactText(
     final String text, final int minimumNumberOfMatches, final long timeout) {
   String matchText = "^" + Pattern.quote(text) + "$";
   return sSolo.waitForText(matchText, minimumNumberOfMatches, timeout);
 }
  /**
   * 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();
    }
  }
  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);
  }