Jestem czarny-box testowanie aplikacji za pomocą Robotium framework. Testowana aplikacja wysyła powiadomienie na pasku stanu za każdym razem, gdy instaluję nową aplikację. Chciałbym kliknąć na to powiadomienie, ale nadal nie znalazłem odpowiedniego sposobu na to.Programowo kliknij powiadomienie na Androidzie
Kiedy ręcznie kliknij na jednym zgłoszeniu otrzymuję ten logcat
linie:
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.FrontActivity bnds=[0,38][240,86] (has extras) u=0} from pid -1
I/ActivityManager( 148): START {flg=0x14000000 cmp=com.test.package/.activity.ResultActivity u=0} from pid 8600
I/ActivityManager( 148): Displayed com.test.package/.activity.FrontActivity: +1s183ms
I/ActivityManager( 148): Displayed com.test.package/.activity.ResultActivity: +744ms
wiem Robotium nie można przetestować 2 różnych aplikacji w tym samym czasie, jak również wiem, że nie można uzyskać zgłoszenie zewnętrzna aplikacja.
Próbowałem również uzyskać oczekującą intencję i odpalić go za pomocą następującego kodu:
Context context = this.getInstrumentation().getTargetContext().getApplicationContext();
String intentClassString = "com.test.package.activity.FrontActivity";
Class<?> intentClass = null;
try {
intentClass = Class.forName(intentClassString);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Intent intent = new Intent(context, intentClass);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE);
try {
pendingIntent.send();
} catch (CanceledException e) {
e.printStackTrace();
}
Aktywność rzeczywiście pokazał, ale różni się od tego, co mogę uzyskać poprzez ręczne wywoływanie go. Myślę, że coś jest nie tak w kontekście, w którym mijam, lub w sposób, w jaki nazwałem oczekującą intencję.
Dowolna wskazówka dotycząca tego problemu? Czy istnieje lepszy sposób symulacji kliknięcia powiadomienia?