6

धीमा नीचे एस्प्रेसो के बारे में है। मैं एक सिम्युलेटर पर सफलतापूर्वक एकीकरण परीक्षण चला रहा हूँ। मुझे लगता है कि कुछ परीक्षण विफल हो रहे हैं क्योंकि यह बहुत तेजी से चल रहा है। निष्पादन/प्लेबैक भाषण मंदी के लिए कोई रास्ता है?एस्प्रेसो

उत्तर

4

यह असंभव है कि एक परीक्षण गति में विफल रहता है। एस्प्रेसो परीक्षण के तहत आवेदन के साथ सभी परीक्षण संचालन सिंक्रनाइज़ कर सकते हैं। डिफ़ॉल्ट रूप से, एस्प्रेसो वर्तमान संदेश कतार में यूआई घटनाओं की प्रतीक्षा करता है और अगले परीक्षण ऑपरेशन पर जाने से पहले इसे पूरा करने के लिए डिफ़ॉल्ट AsyncTasks डिफ़ॉल्ट करता है। हालांकि अगर यह आपके आवेदन के लिए पर्याप्त नहीं है तो आप एस्प्रेसो को निष्क्रिय और कब नहीं कह सकते हैं।

  • लागू IdlingResource इंटरफ़ेस: ऐसा करने के लिए आप के लिए है।
  • परीक्षण सेटअप में Espresso.registerIdlingResource पर कॉल करके एस्प्रेसो के साथ अपने एक या अधिक IdlingResource (ओं) को पंजीकृत करें।

यदि आपको और मदद की ज़रूरत है तो मुझसे पूछें !!

-1

मुझे यह समस्या भी थी। मैंने डेवलपर विकल्पों से अपने डिवाइस पर गतिविधि एनीमेशन को हटाकर हल किया।

यदि आपकी समस्या अभी भी है तो आप धीमे होने के लिए अपने परीक्षण में sleep का उपयोग कर सकते हैं।

SystemClock.sleep(1000); 

enter image description here

0

Haha ... वास्तव में एस्प्रेसो यह केवल की तरह काम करता है। आप जिस समस्या का सामना कर रहे हैं वह यह है कि UI ईवेंट पूर्ण करने में सक्षम नहीं हैं (उदाहरण के लिए, नेटवर्क कॉल से सूची लोड होने से पहले एक सूची आइटम पर क्लिक करना)। इस मामले में, जहां आपके संसाधन अन्य धागे से लोड किए जा रहे हैं, आप वास्तव में something to load (पूर्ण होने की घटना) के लिए प्रतीक्षा करने के लिए Thread.sleep (millis) या अधिक कुशलता से UiController की loopMainThreadForAtleast (millis) विधि निष्पादित कर सकते हैं।

0

जब आप एंड्रॉइड स्टूडियो में एस्प्रेसो टेस्ट रिकॉर्ड करते हैं तो यह विलंब को संभालने के लिए दृश्य बातचीत के दौरान स्वचालित रूप से स्लीप कथन जोड़ देगा।

// Added a sleep statement to match the app's execution delay. 
// The recommended way to handle such scenarios is to use Espresso idling resources: 
// https://google.github.io/android-testing-support-library/docs/espresso/idling-resource/index.html 

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

Link to the docs

: यह दृष्टिकोण है कि टिप्पणी के साथ उत्पन्न किया जाता है
संबंधित मुद्दे