Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I was wondering if there any automation tools out there that can help with the process of testing an iPhone application on the device itself and not on a simulator.

Ideally, it would have simulating button clicks, selections, and general alphanumeric input (sort of like how selenium can be used with web browsers).

share|improve this question
    
Here is a similar (but a bit older) post on Stack Overflow (stackoverflow.com/questions/402389/…) –  Rajneesh Jun 16 '11 at 16:27
add comment

11 Answers

Apple supplies automated testing tools as part of their free developer tools, specifically as part of Instruments.

Apple testing intruments

Two other non-answers are Selenium which can be used for testing web applications, and Sikuli which does image comparison based automation.

Sikuli will let you automate the use of the emulator itself, based just on screen image captures, but you have explicitly stated that you don't want to test on the emulator.

There is now iCuke for testing with Cucumber for iPhone apps as well. It is open source with the code on github here.

Update: There is now a Selenium driver for testing native iOS apps as well ios-driver

share|improve this answer
add comment

I know WebDriver (Selenium 2.0) has iPhone Driver, though I have not used it myself.

http://code.google.com/p/selenium/wiki/IPhoneDriver

share|improve this answer
add comment

We have successfully used iCuke for creating Cucumber automated acceptance tests. Everything is documented in this blog post.

share|improve this answer
add comment

PerfectoMobile.com and DeviceAnywhere.com provide services where you can run scripts against racked devices in their data center. They both provide access to a variety of devices; you get a remote view of the screen and can script various touch and hardware events. Scripting tools provide for bitmap and OCR recognition. We have experimented with both, but it's too early to say how they'll work long term.

share|improve this answer
add comment

SeeTest from Experitest is a cross-platform tool for iPhone, Android, WindowsMobile, Symbian and Blackberry. The Object identification is based on 4 methods:

  • image recognition
  • Native ID
  • Text recognition
  • and Web DOM.

I think you can give a try to this tool.

share|improve this answer
add comment

Have you considered Telerik Test Studio for iOS?

http://www.telerik.com/automated-testing-tools/ios-testing.aspx

share|improve this answer
    
Could you share some experience about it? –  dzieciou Nov 5 '12 at 19:05
    
Whilst I have not used it for testing iDevice specifically, the Test Studio for web and WPF applications which I have used is very user friendly but also offers a good degree of control should you need it, offering a powerful set of testing tools. –  chrisc Nov 6 '12 at 23:19
add comment

I have succesfull expirience using FoneMonkey. Currently looking into iOSNativeDriver. Also was using UI Automation from Apple but faced with an issue during running test from the command line, that was required for CI Server.

share|improve this answer
add comment

There are many applications for mobile testing in this world every day, so I couldn't choose correct apps tester. I searched for mobile apps testing keywords in Google, Yahoo and Bing. Many are listed on the first search results page. One I would use is http://mobileappstesting.contussupport.com, because this sites gave to remove 5 bugs free to My apps.

Different Mobile Testing Tools:

  • eggPlant
  • eclipse
  • Fone Monkey
  • Fone Monkey Android

Hopefully, these will help.

share|improve this answer
    
I believe this might be valuable answer, but it is hard to understand it now. Could you correct English a bit? Also could you explain better the benefits and experience of using those different mobile testing tools? –  dzieciou Nov 2 '12 at 21:50
add comment

There is a new Native/Hybrid iOS app testing framework called Appium on GitHub which was announced at the Mobile Testing Summit last week. Obviously, due to its young age you may not be willing to take it up.

The Appium Git page has this to say about it:

Appium is a test automation tool for use with native and hybrid iOS applications. It uses the webdriver JSON wire protocol to drive Apple's UIAutomation. Appium is based on Dan Cuellar's work on iOS Auto.

Appium uses the Bottle micro web-framework, and has the goal of working with all off the shelf Selenium client libraries.

There are two big benefits to testing with Appium:

1: Appium uses Apple's UIAutomation library under the hood to perform the automation, which means you do not have to recompile your app or modify in any way to be able to test automate it.

2: With Appium, you are able to write your test in your choice of programming language, using the Selenium WebDriver API and language-specific client libraries. If you only used UIAutomation, you would be required to write tests in JavaScript, and only run the tests through the Instruments application. With Appium, you can test your native iOS app with any language, and with your preferred dev tools.

share|improve this answer
add comment

Yesterday I was looking for a tool to test iOS app (frontend of the app), I found MonkeyTalk (you can see more here http://www.gorillalogic.com/book/about-monkeytalk-platform) and I can ensure that this is the tool that you are looking for.

I spent two hours to set it up. The tool provide to create the TC based on what you did ( tap/scroll/and so on..) with the app.

share|improve this answer
add comment

I have used Test Studio for testing iOS app and found its helpful. Following are the things I would like to mention about Test Studio:

  1. Its simple to use
  2. You test directly on the devices so you are working on real environment.
  3. Script for test is generated in front of you as per your steps so you can modify it like you can modify parameters you are passing, timeout etc.
  4. There is also 'Task' sort of verification process in which you can verify the size of text field, Font used for placeholders in text field and so on.
  5. If any crash occurred while testing then the Crash reports are sent to the email id you have provided. So no need to connect device every time and collect crash reports.
  6. You can share test cases with other devices you are using through a web portal Telerik have provided (Note: Portal is paid one )
  7. But it has some drawbacks as looping is not supported which is mentioned on their site also.
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.