示例#1
0
  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);
    }
  }
 // 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);
 }
示例#3
0
  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);
  }
示例#4
0
 public void testOnClickLogoutMenuItem() {
   solo.clickOnMenuItem(getActivity().getString(R.string.logout));
   getInstrumentation().waitForIdleSync();
   solo.hideSoftKeyboard();
   solo.assertCurrentActivity("Expected Login activity", "Login");
   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);
  }
 /** US 01.03.01 Test that an object is displayed in account. */
 public void testDisplayStatus() {
   solo.clickOnView(solo.getView(R.id.LoginButton));
   solo.enterText((EditText) solo.getView(R.id.emailAddress), "123@123");
   solo.clickOnView(solo.getView(R.id.email_sign_in_button));
   solo.clickOnView(solo.getView(R.id.AccountBtn));
   solo.clickInList(0);
   solo.assertCurrentActivity("should be editing stalls", EditStall.class);
   solo.goBack();
   solo.goBack();
   solo.clickOnView(solo.getView(R.id.SignoutBtnHomePg));
 }
示例#7
0
  public void testRegister() {
    // solo.assertCurrentActivity("Wrong Activity", Login.class);
    // solo.clickOnButton(1);
    solo.assertCurrentActivity("This should be the Main Activity", Register.class);

    solo.enterText(0, username);
    solo.enterText(1, password);
    solo.enterText(2, email);
    solo.enterText(3, phoneNum);
    solo.clickOnButton(0);

    solo.waitForDialogToClose();
  }
  /** test user can add stall/delete stall US 01.04.01 US 01.05.01 */
  public void testStallsList() {
    solo.clickOnView(solo.getView(R.id.LoginButton));
    solo.enterText((EditText) solo.getView(R.id.emailAddress), "__test1");
    solo.clickOnView(solo.getView(R.id.email_sign_in_button));

    solo.clickOnView(solo.getView(R.id.AccountBtn));
    solo.assertCurrentActivity("should be lists of own stalls", AccountActivity.class);

    solo.clickOnView(solo.getView(R.id.AddBtn));
    solo.enterText((EditText) solo.getView(R.id.NamePrompET), "__test1");
    solo.enterText((EditText) solo.getView(R.id.DescriptionET), "Test.");
    solo.clickOnView(solo.getView(R.id.AddInAddBtn));
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    ElasticSearchCtr.GetStall getStall = new ElasticSearchCtr.GetStall();
    String[] temp = new String[2];
    temp[0] = "__test1";
    temp[1] = "Owner";
    tempAry = new ArrayList<>();
    try {
      getStall.execute(temp);
      tempAry = getStall.get();
    } catch (InterruptedException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }
    assertTrue(tempAry.size() >= 1);
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    ElasticSearchCtr.DeleteStall deleteStall = new ElasticSearchCtr.DeleteStall();
    deleteStall.execute(tempAry.get(0));
    Boolean check = false;
    try {
      check = deleteStall.get();
    } catch (InterruptedException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }
    assertTrue("didn't delete Stall", check);
    solo.goBack();
    solo.clickOnView(solo.getView(R.id.SignoutBtnHomePg));
  }
 /** test clicks user name US 03.03.01 */
 public void testClickUsername() {
   solo.clickOnView(solo.getView(R.id.LoginButton));
   solo.enterText((EditText) solo.getView(R.id.emailAddress), "123@123");
   solo.clickOnView(solo.getView(R.id.email_sign_in_button));
   solo.clickOnView(solo.getView(R.id.AccountBtn));
   ListView lv = (ListView) solo.getView(R.id.OwnStalls);
   View listelement = lv.getChildAt(0);
   TextView username = (TextView) listelement.findViewById(R.id.StallNameEditStallV);
   solo.clickOnView(username);
   solo.assertCurrentActivity("Should be viewProfile", ViewProfile.class);
   solo.goBack();
   solo.goBack();
   solo.clickOnView(solo.getView(R.id.SignoutBtnHomePg));
 }
示例#10
0
 public void testOnClickSettingsMenuItem() {
   solo.clickOnMenuItem(getActivity().getString(R.string.settings));
   getInstrumentation().waitForIdleSync();
   solo.assertCurrentActivity("Expected Settings activity", "Settings");
   solo.goBack();
 }
示例#11
0
  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);
  }
  /** Test adding/deleting a picture to/from a stall US 09.01.01 US 09.02.01 */
  public void testPictureStalls() {
    Bitmap bitmap = Bitmap.createBitmap(new int[] {1, 2, 5, 4}, 2, 2, Bitmap.Config.ARGB_8888);

    solo.clickOnView(solo.getView(R.id.LoginButton));
    solo.enterText((EditText) solo.getView(R.id.emailAddress), "robo");
    solo.clickOnView(solo.getView(R.id.email_sign_in_button));

    solo.clickOnView(solo.getView(R.id.AccountBtn));

    solo.clickOnView(solo.getView(R.id.AddBtn));
    solo.enterText((EditText) solo.getView(R.id.NamePrompET), "robo");
    solo.enterText((EditText) solo.getView(R.id.DescriptionET), "Test.");
    solo.clickOnView(solo.getView(R.id.AddInAddBtn));
    solo.goBack();
    solo.clickOnView(solo.getView(R.id.AccountBtn));
    ListView lv = (ListView) solo.getView(R.id.OwnStalls);
    View element = lv.getChildAt(0);
    assertNotNull(element);
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    ElasticSearchCtr.GetStall getStall = new ElasticSearchCtr.GetStall();
    String[] temp = new String[2];
    temp[0] = "robo";
    temp[1] = "Owner";
    tempAry = new ArrayList<>();
    try {
      getStall.execute(temp);
      tempAry = getStall.get();
    } catch (InterruptedException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }
    assertTrue(tempAry.size() == 1);
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    tempAry.get(0).setThumbnail(bitmap);

    ElasticSearchForTest.updateStallES updateStallES = new ElasticSearchForTest.updateStallES();

    updateStallES.execute(tempAry.get(0));

    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    assertEquals("Should be the created bitmap", bitmap, tempAry.get(0).getThumbnail());

    ListView lv2 = (ListView) solo.getView(R.id.OwnStalls);
    View listelement = lv2.getChildAt(0);
    TextView description = (TextView) listelement.findViewById(R.id.DescriptionEditStallV);
    solo.clickOnView(description);

    solo.clickOnView(solo.getView(R.id.DelPicEditStallBtn));
    solo.clickOnView(solo.getView(R.id.SaveEdit));

    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    getStall = new ElasticSearchCtr.GetStall();

    try {
      getStall.execute(temp);
      tempAry = getStall.get();
    } catch (InterruptedException e) {
      e.printStackTrace();
    } catch (ExecutionException e) {
      e.printStackTrace();
    }

    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    assertEquals("Should be a null bitmap", null, tempAry.get(0).getThumbnail());
    solo.goBack();
    solo.clickOnView(solo.getView(R.id.SignoutBtnHomePg));

    solo.clickOnView(solo.getView(R.id.LoginButton));
    solo.enterText((EditText) solo.getView(R.id.emailAddress), "robo");
    solo.clickOnView(solo.getView(R.id.email_sign_in_button));

    solo.clickOnView(solo.getView(R.id.AccountBtn));
    solo.clickInList(0);
    solo.assertCurrentActivity("should be in edit stall", EditStall.class);
    solo.clickOnView(solo.getView(R.id.EditStallDeleteBtn));
    solo.goBack();
    solo.clickOnView(solo.getView(R.id.SignoutBtnHomePg));
  }