2015-11-30 4 views
5

एंड्रॉयड स्टूडियो में, androidTest फ़ोल्डर में, मैं इस परीक्षण का मामला है से रोकने के लिए:परीक्षा समाप्त होने के बाद एस्प्रेसो ऐप क्यों छोड़ता है? कैसे यह कर

@RunWith(AndroidJUnit4.class) 
@LargeTest 
public class LoginActivityTest { 

    @Rule 
    public ActivityTestRule<LoginActivity> activityTestRule = 
      new ActivityTestRule<>(LoginActivity.class); 

    @Test 
    public void teamsListIsSortedAlphabetically() { 
     onView(withId(R.id.etEmail)).perform(click(), replaceText("[email protected]") 
     ); 
     onView(withId(R.id.etPassword)).perform(click(), replaceText("asdasd") 
     ); 
     onView(withId(R.id.bLoginSubmit)).perform(click()); 
    } 
} 

अनुप्रयोग, LoginActivity की शुरूआत में लॉग करता है, अगली गतिविधि 1-2 सेकंड के लिए दिखाया गया है और तो यह मुझे लॉन्चर स्क्रीन पर छोड़ने वाली गतिविधि से बाहर निकलता है। मैं उस स्क्रीन पर एस्प्रेसो कैसे रहूं?

+0

संभावित डुप्लिकेट [एस्प्रेसो परीक्षण पूर्ण होने पर अंतिम स्थिति में एंड्रॉइड ऐप छोड़ें] (http://stackoverflow.com/questions/29950640/leave-android-app-in-final-state-on-espresso-test-completion) –

+0

आप इस प्रश्न को देखना चाहते हैं: http://stackoverflow.com/questions/42299276/android-directly-launch-the-activity-fragment-that-is-under- विकास –

उत्तर

8

क्षमा करें, लेकिन यह असंभव है। ऐसा लगता है कि आप स्वचालित परीक्षणों के बारे में पर्याप्त जानकारी नहीं जानते हैं।

कृपया इस Google संदर्भ पढ़ें: Automating User Interface Tests

एस्प्रेसो, Robotium, Calabash और अन्य यूआई परीक्षण चौखटे कम बातचीत की घटनाओं के परीक्षण के लिए किए गए थे। यह किसी उपयोगकर्ता के विशिष्ट व्यवहार-रन ऐप को अनुकरण करता है, ऐप को बंद करने से कुछ चाल और (यदि सफल हो) करता है।

बेशक, एस्प्रेसो आपको कस्टम निष्क्रिय संसाधन बनाने और ऐप में पंजीकरण करने की अनुमति देता है।

विशिष्ट समय के लिए परीक्षण को हाइबरनेट करने का सबसे आसान तरीका उपयोग विधि Thread.sleep(time_in_miliseconds) है, लेकिन जैसा कि मैंने कहा है कि यह स्वचालित परीक्षण के विचार के खिलाफ है।

संबंधित मुद्दे