Je viens de commencer avec Robotium et j'ai essayé un premier test très simple, mais je rencontre un problème que je ne peux pas expliquer/qui ne me semble pas logique.Échec du test de Robotium avec: junit.framework.AssertionFailedError: La vue ne peut pas être cliquée!
J'ai un TabHost avec un ActivityGroup et un bouton bascule sur chaque activité qui est affichée dans la section de contenu tabhost. Lorsque j'appuie sur le bouton à bascule, la zone de contenu de l'onglet change en une autre activité (mTabHost.setCurrentTab (intention d'intention);). Chaque activité contient un bouton bascule, toujours avec une étiquette "Toggle". Lorsque je clique sur le bouton bascule de l'activité des secondes, il revient à la première (tout dans la zone de contenu de l'onglet).
|-----------------|
| TabHost | |
|-----------------|
| |
| Toggle-Button |
| |
| (ActivityGroup: |
| Activities |
| change in here) |
| |
|-----------------|
Maintenant, tout cela fonctionne correctement manuellement, mais pas le test robotium. Lorsque j'essaie de cliquer sur le bouton bascule de la deuxième activité, j'obtiens un message d'erreur "junit.framework.AssertionFailedError: La vue ne peut pas être cliquée!"
C'est mon test - très simple et petit:
solo.sleep(5000);
solo.waitForActivity("StartTabsActivity", 10000);
solo.clickOnButton("Toggle");
// this will swap the activity inside the tabhost content section
solo.sleep(5000);
solo.waitForActivity("StatusListActivity", 5000);
solo.assertCurrentActivity("Expected StatusList activity", "StatusListActivity");
LogUtils.logD("robotium: button label: " + solo.getButton(1).getText());
// ... outputs: robotium: button label: Toggle
LogUtils.logD("robotium: button clickable: " + solo.getButton(1).isClickable());
// ... outputs: robotium: button clickable: true
solo.clickOnButton("Toggle");
// ... throws: junit.framework.AssertionFailedError: View can not be clicked!
Ce que je ne comprends pas ici: je vérifie que le bouton avec l'étiquette « Toggle » existe et est cliquable, néanmoins, je Je reçois une erreur disant "Cette vue ne peut pas être cliquée.". Et il n'y a qu'un bouton "Toggle" dans l'activité en cours.
liés à cette question, j'ai une autre mineure: Quand je travaille avec TabHost + ActivityGroup, sera « solo.getCurrentActivity() » renvoie toujours l'activité intégrée du ActivityGroup, pas celui de l'extérieur? Peut-on encore accéder à des éléments de l'activité extérieure en solo? Dans mon cas ci-dessus, le bouton bascule fait toujours partie de l'activité interne/intégrée - au cas où cela est important ici.
Ceci est une autre façon cliquer sur les boutons avec l'instumentation. http: //chanakaudaya.wordpress.com/2012/03/31/robotique-bouton-clic-ne-fonctionne-pas/ –