2015-11-28 12 views
9

का उपयोग करके मुलायम कीबोर्ड दिखाई दे रहा है तो परीक्षण करें जब कोई गतिविधि कॉल() और ऑनर्यूम() पर कीबोर्ड दृश्यता का परीक्षण करना चाहता है।यदि एस्प्रेसो

मैं कैसे जांच सकता हूं कि कीबोर्ड एस्प्रेसो का उपयोग करके दिखाया गया है या नहीं?

उत्तर

-2

यह चाल का एक प्रकार है, तो कुंजीपटल दिख रहा है की जाँच करने के लिए है यह एक आदर्श समाधान नहीं है, लेकिन के लिए मुझे पर्याप्त था:

  1. जांच अगर टुकड़ा/गतिविधि कंटेनर प्रदर्शित किया जाता है
  2. वापस एक प्रेस प्रदर्शन
  3. जांच करता है, तो एक ही टुकड़ा/गतिविधि कंटेनर प्रदर्शित किया जाता है

सरल कोड उदाहरण:

onView(allOf(withId(R.id.myFragment),isDisplayed())); 
onView(withId(R.id.myFragment)).perform(pressBack()); 
onView(allOf(withId(R.id.myFragment),isDisplayed())); 

तो कुंजीपटल दिख रहा है इसका मतलब है कि दूसरी बार आप बटन वापस प्रेस दृश्य कंटेनर अभी भी वहाँ है;)

आशा इस मदद!

0

एक और चाल एक दृश्य की दृश्यता की जांच कर सकती है जिसे आप जानते हैं कि कुंजीपटल दिखाए जाने पर आपको कवर किया जा रहा है। की तरह कुछ Matcher नहीं के लिए एस्प्रेसो और hamcrest का उपयोग कर ध्यान में एनिमेशन लेने के लिए ...

उपकरण परीक्षण के लिए मत भूलना:

//make sure keyboard is visible by clicking on an edit text component 
    ViewInteraction v = onView(withId(R.id.editText)); 
    ViewInteraction v2 = onView(withId(R.id.componentVisibleBeforeKeyboardIsShown)); 
    v2.check(matches(isDisplayed())); 
    v.perform(click()); 
    //add a small delay because of the showing keyboard animation 
    SystemClock.sleep(500); 
    v2.check(matches(not(isDisplayed()))); 
    hideKeyboardMethod(); 
    //add a small delay because of the hiding keyboard animation 
    SystemClock.sleep(500); 
    v2.check(matches(isDisplayed())); 
+0

एस्प्रेसो के साथ, नींद() की जरूरत नहीं किया जाना चाहिए। इसके बजाय आपको एक IdlingResource का उपयोग करना चाहिए। इसके अलावा, 'Espresso.closeSoftKeyboard() '। –

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