Ich bin Black-Box-Test eine Anwendung mit dem Robotium framework. Die zu testende App sendet bei jeder Installation einer neuen Anwendung eine Benachrichtigung in der Statusleiste. Ich möchte auf diese Benachrichtigung klicken, aber ich habe immer noch keinen richtigen Weg gefunden, es zu tun.Programmgesteuert auf Android-Benachrichtigung klicken
Wenn ich manuell auf eine Meldung klicken erhalte ich diese logcat
Linien:
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
Ich weiß Robotium nicht zwei verschiedene Anwendungen gleichzeitig testen können, wie auch ich weiß, Sie nicht die Benachrichtigung bekommen kann eine externe Anwendung.
ich auch versucht, die anstehenden Absicht zu bekommen und es mit dem folgenden Code anwerfen:
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();
}
Die Aktivität wird gezeigt, tatsächlich, aber es ist anders, was ich erhalten, indem man ihn manuell aufrufen es. Ich denke, etwas stimmt nicht in dem Kontext, in dem ich vorbeigehe, oder in der Art, wie ich die ausstehende Absicht nenne.
Irgendwelche Hinweise zu diesem Problem? Gibt es eine bessere Möglichkeit, den Klick auf eine Benachrichtigung zu simulieren?