क्या कोई भी TouchUtils
कक्षा द्वारा प्रदान की गई विधियों का उपयोग करके एंड्रॉइड एमुलेटर पर यूनिट परीक्षण सफलतापूर्वक करने में सक्षम है?
मैं अपने डिवाइस पर पास करने के लिए परीक्षण प्राप्त करने में सक्षम हूं लेकिन जब मैं एक एमुलेटर पर सटीक एक ही परीक्षण (और परीक्षण सूट) चलाता हूं, तो TouchUtils
विधियों का उपयोग करके कोई भी परीक्षण हमेशा निम्न अपवाद फेंकता है:एंड्रॉइड एमुलेटर के साथ TouchUtils
java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission
at android.os.Parcel.readException(Parcel.java:1327)
at android.os.Parcel.readException(Parcel.java:1281)
at android.view.IWindowManager$Stub$Proxy.injectPointerEvent(IWindowManager.java:1196)
at android.app.Instrumentation.sendPointerSync(Instrumentation.java:902)
at android.test.TouchUtils.drag(TouchUtils.java:786)
at android.test.TouchUtils.dragViewTo(TouchUtils.java:633)
...
मैंने कीगार्ड को अनलॉक कर दिया है और यहां तक कि अन्य (गैर टचयूल्ट) परीक्षण मामलों को भी पारित किया है।
मेरे पास @UiThreadTest
लागू नहीं है और न ही मैं कुछ भी चला रहा हूं जिसके लिए यूआई थ्रेड पर चलाने के लिए कोड की आवश्यकता है।
जब मैं TouchUtils.dragViewTo(...)
पर नियोजित लाइन पर टिप्पणी करता हूं और एक साधारण assert(true)
डालता हूं, तो परीक्षण चलता है और पास होता है।
कोई विचार?
क्या आपको उत्तर मिला है? मैं भी इस परेशानी के साथ चल रहा हूं और इस मुद्दे पर खोजने के लिए बहुत कुछ नहीं है। – Egor