Sikuli for iOS

Asked by Guestuser on 2013-01-22

Hi All, I went across related posts on this question, but exactly couldnt find the relevant information. Can someone help me out?

I was using Sikuli for all my automation effort so far, be it testing web, be it testing an app on windows, MaC pc, be it on android. I have been developing my wrapper classes in JAVA. What is the similar appraoch which i can follow for testing iOS. I saw some reference like

https://github.com/landonf/iphonesim

but they were not in Java. Can someone suggest a good approach (Let us not come to a conclusion of taking remote or VNC). I am looking forward for some client code which can achieve this. Even with android i could use Monkeyrunner or Robotium as a wrapper and with help of sikuli i could find coordinates. Looking for a similar solution.

Thanks in advance.

Question information

Language:
English Edit question
Status:
Solved
For:
Sikuli Edit question
Assignee:
No assignee Edit question
Last query:
2013-01-23
Last reply:
2013-01-30
RaiMan (raimund-hocke) said : #1

All these things are not possible on iOS,because it has no Java.

Visual GUI testing is still only possible via the Simulator, not directly on the device (as far as I know).

I used Sikuli for *some* testing (visual testing, monkey testing) with Simulator(s) (iPhone, iPad). iOS Simulators are pretty good, I would say — they are faster than most other in industry.

iPhone Selenium webdriver (http://code.google.com/p/selenium/wiki/IPhoneDriver) is targeted at Simulator too.

Thanks Roman. Even simulator is fine. Can you share me a code sample? I have used webdriver for browser application testing. I am now looking for some samples to test an app installed on emulator.

I'll prepare samples later, please remind me if I forget.

Thanks Roman. Hope you are talking about testing an app installed on Emulator and do actions for the app in Java.

Yes, they were. But they are not relevant to iOS. Anyways, Can you just share Your Jython samples. And if possible also let me know how to setup and run. Thanks in advance.

HAL-9000 (coldlogic) said : #8

Just to ad something about iOS Sims here, the Selenium driver is for webkit frames hosted in the Simulator. Anything using Apple iOS API's (like Cocoa interface objects) will not be 'visible' to the Selenium driver.

Only way I am aware to run Java auto-scripts running actual iOS apps is to use Xcode Instrument's UIAutomation tool. Just open up Instruments, select iOS, then the Automation template - you just start building a script from there (I believe there is also a UI interaction recorder). It runs straight Java and is probably the most conducive environment for iOS automation with that language. As a bonus, you can run those tests at an actual device.

On the downside, in my experience, it generally produces tests that are much more "brittle" than Sikuli Jython tests via the Sim, and you miss actual UI acceptance (nothing is 'seen' by Instruments beyond objects in code). This is why I stick with Sikuli :).

There is a pure API Sikuli package for Java now though (http://code.google.com/p/sikuli-api/) that maybe-might integrate with the Instruments tool, though I'm not sure if it does (interesting experiment to try).

RaiMan (raimund-hocke) said : #9

made a faq from comment #8

I know this question is solved.

Wang Shiqi (shiqwang) said : #10

请问,到底可不可以在iOS上面运行sikuli?

RaiMan (raimund-hocke) said : #11

@Wang
simply no.