Czy ktoś był w stanie pomyślnie przeprowadzić testowanie jednostkowe w emulatorze systemu Android przy użyciu metod oferowanych przez klasę TouchUtils
?
Jestem w stanie uzyskać test (y) do przekazania na moim urządzeniu, ale kiedy przeprowadzę dokładnie te same testy (i zestaw testów) na emulatorze, każdy test przy użyciu metody TouchUtils
zawsze zgłasza następujący wyjątek:TouchUtils z emulatorem Androida
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)
...
mam odblokowane blokadę klawiatury, a nawet prowadził inne (nie TouchUtils) przypadki testowe, które przeszły.
Nie mam zastosowanego @UiThreadTest
i nie uruchomię niczego, co wymaga kodu do uruchomienia w wątku interfejsu użytkownika.
Po zakomentowaniu linii, która zatrudnia TouchUtils.dragViewTo(...)
i umieszczeniu prostego assert(true)
, test działa i przechodzi.
Wszelkie pomysły?
Czy znalazłeś odpowiedź? Biegnę też z tymi problemami i nie ma zbyt wiele do znalezienia w tej kwestii. – Egor