calabash / calabash-android

Automated Functional testing for Android using cucumber
Other
1.68k stars 617 forks source link

INJECT_EVENTS permission issue #922

Open huseyinbarin opened 4 years ago

huseyinbarin commented 4 years ago

I am a newbie for Calabash community, While executing the calabash tests on the emulator Nexus 5X API level 26, the emulator crashes probably because of an appearing pop-up from a different application with the following exception.

Failed to perform gesture. java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission

I am also aware that this issue is created and closed before without a concrete solution/fix for that. May be community can help me out about the following questions

Julioevm commented 3 years ago

Hey @huseyinbarin, I know this is a late response... By default, Calabash cant interact with system elements or other apps. Hence you get that message when a pop-up unrelated to the main app running with Calabash receives an action. Very likely some integration with a google service. Now, we have enabled some changes that let you use uiautomator, that lets you interact with this type of element. So you should be able to handle such element if it were to appear, and tap on a dismiss button or whatever.

JoeSSS commented 3 years ago

I wonder if such an element has a specific locator/text where Calabash can automatically close it, not sure how to make test automation always expect an unexpected google service popup 🤔