Espresso Testing call view button click waiting after call api response data progressDialog dimission

前端 未结 2 699
感动是毒
感动是毒 2021-01-28 16:40

I develop automation testing using via espresso library. Sometime I ever got error message \"Could not launch intent Intent\" when running test is make long time I call view b

2条回答
  •  清酒与你
    2021-01-28 16:57

    view button click Waiting for progressdialog dimission using Thread.sleep(4000) sometime is going correct but sometime is still show like the question error "Could not launch intent Intent". I would like to know which ideas better than my answer.

    ProgressDialog Utils Class the method
    
    public void showProgressDialog() {
        if (mProgressDialog == null) {
            mProgressDialog = new ProgressDialog(this);
            mProgressDialog.setCancelable(false);
            mProgressDialog.setMessage("Loading...");
        }
    
        mProgressDialog.show();
    }
    
    public void hideProgressDialog() {
        if (mProgressDialog != null && mProgressDialog.isShowing()) {
            mProgressDialog.dismiss();
        }
    }
    

    Testing

    @Test
      public void test1() throws InterruptedException {
        //onView(withText("Loading")).check(matches(isDisplayed()));
        //    onView(allOf(isAssignableFrom(ProgressBar.class),withText("Loading..."))).check(matches(isDisplayed()));
    
        //onView(withId(R.id.btnWorkingDate)).perform(click());
      //  Intents.init();
    
        // override progress bar infinite animation with a simple image
    
        //onView(withText("Loading...")).check(matches(isDisplayed()));
    
    
      //  onView(withText("Loading...")).check(matches(not((isDisplayed()))));
    
        //onView(withText("Loading...")).check(matches(isDisplayed()));
       // onView(withText("Loading...")).check(matches(not(isDisplayed())));
       // assertTrue(progressBar().exists());
    
        try {
            onView(allOf(withId(R.id.btnWorkingDate), withText("OPEN DAY"))).check(matches(isDisplayed())).perform(click(),closeSoftKeyboard());
        }catch (NoMatchingViewException e) {
            // View is not in hierarchy
        }
        Thread.sleep(4000);
     /*   onView(allOf(withId(R.id.btnWorkingTime),withText("START SHIFT"), isDisplayed())).perform(click(),closeSoftKeyboard());
    
        onView(allOf(withId(R.id.btnWorkingTime),withText("END SHIFT"), isDisplayed())).perform(click(),closeSoftKeyboard());*/
     //   Intents.release();
       // intended(hasComponent(DashboardActivity.class.getName()));
        //assertNotNull(view);
        //onView(withId(R.id.btnWorkingDate)).perform(click());
    }
    
    
    @Test
    public void test2() throws InterruptedException {
    
       // onView(allOf(withId(R.id.btnWorkingTime),withText("START SHIFT"), isDisplayed())).perform(click(),closeSoftKeyboard());
    
      //  assertTrue(progressBar().exists());
    
        try {
            onView(allOf(withId(R.id.btnWorkingTime), withText("START SHIFT"))).check(matches(isDisplayed())).perform(click(),closeSoftKeyboard());
        }catch (NoMatchingViewException e) {
            // View is not in hierarchy
        }
    
        Thread.sleep(4000);
    }
    
    @Test
    public void test3() throws InterruptedException {
    
        try {
            onView(allOf(withId(R.id.btnWorkingTime), withText("END SHIFT"))).check(matches(isDisplayed())).perform(click(),closeSoftKeyboard());
        }catch (NoMatchingViewException e) {
            // View is not in hierarchy
        }
        Thread.sleep(5000);
    }
    

提交回复
热议问题