Sikuli for iOS

Asked by Guestuser

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:
SikuliX Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
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).

Revision history for this message
Roman Podolyan (podolyan-roman) said :
#2

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.

Revision history for this message
Guestuser (karthik-krishnagiri) said :
#3

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.

Revision history for this message
Roman Podolyan (podolyan-roman) said :
#4

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

Revision history for this message
Guestuser (karthik-krishnagiri) said :
#5

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

Revision history for this message
Roman Podolyan (podolyan-roman) said :
#6
Revision history for this message
Guestuser (karthik-krishnagiri) said :
#7

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.

Revision history for this message
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).

Revision history for this message
RaiMan (raimund-hocke) said :
#9

made a faq from comment #8

I know this question is solved.

Revision history for this message
Wang Shiqi (shiqwang) said :
#10

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

Revision history for this message
RaiMan (raimund-hocke) said :
#11

@Wang
simply no.