Backdoor concept in Appium (as in Calabash) for UI testing

In Calabash, you can implement a backdoor i.e. a way to call a method in an application delegate during test case execution. This allows you to simulate non-immune / external events like bluetooth device to show / disappear, etc. In the simulator.

(I understand that the concept of a backdoor is possible because the Calabash server is linked to the executable. Appium runs tests against the untouched executable.)

Is a similar concept available in Appium? If not, what are the alternatives then?

(I couldn't find anything in the Appium documentation.)

+3


source to share


2 answers


I wrote a library to get the backdoor concept in my Appium setup. It's called Insider .

It includes the following features:



  • Send a message to the app from a remote device script;
  • Send a message to the app from the remote device script and wait for a response;
  • Send local notifications via NSNotificationCenter with specified parameters from a remote script;
  • Obtain information about the state of the device's system (CPU, memory, IP address, etc.) while running tests;
  • Managing files / directories in the application sandbox (Documents, Library, tmp) while running tests;

GitHub : https://github.com/alexmx/Insider
API Link : http://alexmx.github.io/Insider/

+1


source


We support this in a framework called Illuminator (full disclosure, I'm the author), with an RPC channel called an automation bridge .



When the tools are launched, we use a function performTaskWithPathArgumentsTimeout

to call our script, which passes our supplied arguments to the current application (on the simulator or on the hardware). Any data returned from the application is passed back to the UIAutomation.

0


source







All Articles