मैं अपने एंड्रॉइड ऐप के लिए एक जुनीट टेस्ट केस लिख रहा हूं। टेस्ट क्लास ActivityInstrumentationTestCase2
बढ़ाता है और पर TextEdit
विजेट्स के लिए उपयोगकर्ता इनपुट अनुकरण करने के लिए कॉल करता है। हालांकि, सभी वर्णमाला कुंजीकोड (उदा। KeyEvent.KEYCODE_G
) केवल TextEdit
पर निचले केस अक्षर भेजें। मैंने वर्णमाला कुंजीकोड भेजने से पहले KeyEvent.KEYCODE_SHIFT_LEFT
भेजने का प्रयास किया, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा था। तो मैं उपयोगकर्ता को ऊपरी-केस अक्षर टाइप करने का अनुकरण कैसे करूं?वाद्ययंत्र परीक्षण के दौरान टेक्स्टएडिट पर ऊपरी केस अक्षरों को भेजना
संपादित करें:
मैं अपर केस पत्र मैन्युअल रूप से दर्ज कर सकते हैं। वास्तव में, EditText के रूप में
<EditText android:id="@id/brand_text"
android:singleLine="true"
android:capitalize="words"
android:hint="@string/brand_hint"
/>
android:capitalize="words"
विशेषता एमुलेटर में अपरकेस मोड में ऑनस्क्रीन कीबोर्ड बलों परिभाषित किया गया है। (मुझे लगता है कि यह एक डिवाइस पर भी ऐसा ही करेगा लेकिन इसका परीक्षण करने के लिए कोई नहीं है।) चूंकि एसडीके के साथ आने वाला एमुलेटर हार्डवेयर कीबोर्ड का अनुकरण नहीं करता है, इसलिए मैं यह जांचने में असमर्थ हूं कि मेरा यूआई कैसे काम करता है हार्ड कुंजी
मैं भी कोशिश की
EditText brandText = this.activity.findViewById(R.id.brand_text);
brandText.setText(someString);
हालांकि, परीक्षण विफल जब मैं ऐसा किया। मैंने उस कोड को कुल्हाड़ी दी, इसलिए मेरे पास इस समय विवरण नहीं है। मैं इसे फिर से बनाने और उन विवरणों के साथ इस प्रश्न को संपादित करने की कोशिश करूंगा।
क्या आपने sendKeys ("A") भेजने की कोशिश की है; KeyEvent.KEYCODE_A के बजाय) –
@DurairajP हां, 'sendKeys (" ए ")' 'sendKeys (KeyEvent.KEYCODE_A)' के बराबर है। [दस्तावेज़ों के अनुसार 'sendKeys (स्ट्रिंग) '] (http://developer.android.com/reference/android/test/InstrumentationTestCase.html#sendKeys (int ...)):" कुंजी का अनुक्रम एक स्ट्रिंग है KEYCODE_ उपसर्ग के बिना, KeyEvent में निर्दिष्ट कुंजी नाम शामिल हैं। " –
@ कोड-गुरु: आपके प्रश्न में आप कहते हैं कि आपने वर्णमाला कोड से पहले 'KeyEvent.KEYCODE_LEFT_SHIFT' को आजमाया है। मुझे लगता है कि यह एक टाइपो है क्योंकि यह 'KeyEvent.KEYCODE_SHIFT_LEFT' होना चाहिए। – Squonk