का उपयोग कर एमुलेटर स्क्रीन अनलॉक करें मैं अपना पहला एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं और मैं सीआई सर्वर स्थापित कर रहा था। मेरे एस्प्रेसो परीक्षण निम्नलिखितएस्प्रेसो
java.lang.RuntimeException के साथ अपने मशीन लेकिन ट्रैविस त्रुटियों पर ठीक चलाएँ: दृश्य पदानुक्रम की जड़ के लिए इंतजार कर रहे थे खिड़की ध्यान केंद्रित किया और नहीं 10 से अधिक सेकंड के लिए लेआउट का अनुरोध किया।
ऐसा लगता है कि मुझे परीक्षण चलाने से पहले मुझे एमुलेटर स्क्रीन अनलॉक करने की आवश्यकता है। ब्लॉक करता है, तो में लिपटे ऊपर कोड के साथ मेरी गतिविधियों कूड़े को
KeyguardManager mKeyGuardManager = (KeyguardManager) ctx.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock mLock = mKeyGuardManager.newKeyguardLock(name);
mLock.disableKeyguard();
बात मैं नहीं करना चाहती है: ऐसा करने के लिए मैं एक प्रकट src/debug
करने के लिए आवश्यक अनुमतियों के साथ जोड़ने के लिए और उसके बाद के साथ स्क्रीन को अनलॉक करने की है। क्या एस्प्रेसो टेस्ट से स्क्रीन अनलॉक करने का कोई तरीका है?
मेरे एस्प्रेसो परीक्षण:
@RunWith(AndroidJUnit4.class)
public class EspressoSetupTest {
@Rule
public final ActivityTestRule<WelcomeActivity> activity =
new ActivityTestRule<>(WelcomeActivity.class, true, true);
@Test
public void launchTest() {
onView(withId(R.id.welcome_textView_hello))
.perform(click())
.check(matches(withText("RetroLambda is working")));
}
}
मैं एस्प्रेसो सेटअप अलग है। मेरे पास संदर्भ तक पहुंच नहीं है, और नाम परिवर्तनीय क्या होना चाहिए? –
मैंने इसे और अधिक स्पष्ट करने के लिए अपना उत्तर संपादित कर दिया है। आप सिस्टम सेवा प्राप्त करने के लिए गतिविधि का उपयोग कर सकते हैं। नाम चर सिर्फ एक टैग है, आप इस उद्देश्य के लिए स्थिर KEYGUARD_SERVICE स्ट्रिंग का उपयोग कर सकते हैं। – woley
धन्यवाद! मेरी एस्प्रेसो टेस्ट क्लास वास्तव में कुछ भी subclassing नहीं है। मुझे ActivityTestRule.getActivity() का उपयोग करके गतिविधि का एक उदाहरण मिल रहा है और अपना कोड @Before setUp() विधि में डाल रहा है लेकिन यह काम नहीं करता है। –