6

I'm working on a web project where it has become clear that having some Selenium-type automated acceptance tests would be very helpful. But the project is a web site for mobile/handheld devices, not desktop browsers like what Selenium supports.

Googling around a little uncovered Frank for iOS and Robotium for Android. Are these the two tools to use? Or is there something as good or better that might also allow me to use one tool for both Android and iOS?

Trott
  • 66,479
  • 23
  • 173
  • 212
  • Just look at my edit4ed answer, Hope it this will help you for web project testing. Also let me know is it, what you needed. Thanks. – user370305 Nov 01 '11 at 05:34

7 Answers7

4

You might also want to look into Cucumber which basically offers a high level language to execute tests. A test consists of a number of steps and the underlying step_definitions are written in Ruby.

Calabash offers step definitions for Android and for iOS like pressing a button, swipe, scroll, ...

Not sure though how this works out for web testing on mobile devices.

Marc Van Daele
  • 2,856
  • 1
  • 26
  • 52
  • Didn't know about Calabash! Apparently it's been on GitHub for about a year so it wasn't there when the question was originally asked. Will have to check it out! As for Cucumber, I'm using Cucumber in fact. Cucumber depends on external projects such as Selenium to run tests on real browsers/devices. I've been using Selenium + WebDriver to run tests on an iOS simulator, but there are differences between the sim and a real device, of course. – Trott Feb 14 '13 at 18:55
  • Looks like Calabash uses the iOS Simulator, not real devices. Ah well. – Trott Feb 14 '13 at 18:57
  • I only played with it for web browser and Android. Getting it up and running for iOS is still on my list. For Android, it does work with real devices though. – Marc Van Daele Feb 15 '13 at 09:56
  • Sweet, then that covers Android. +1! – Trott Feb 15 '13 at 17:06
4

There are multiple tools that can test iOS and Android applications. Here is a selection:

saltandpepper
  • 998
  • 2
  • 12
  • 32
2

MonkeyTalk seems to be able to handle both iOS, Android and web. Disclaimer: I just started playing with MonkeyTalk and did not use Robotium.

kamal_prd
  • 543
  • 4
  • 16
Marc Van Daele
  • 2,856
  • 1
  • 26
  • 52
2

Another option is Appium, a Selenium-compatible mobile automation tool that can automate mobile apps, including mobile browsers.

sah
  • 476
  • 4
  • 9
2

I never use any other for android but Robotium is best in my case.

EDIT:

Android WebDriver allows to run automated end-to-end tests that ensure your site works correctly when viewed from the Android browser.

Selenium - Browser automation framework

user370305
  • 108,599
  • 23
  • 164
  • 151
  • Do you use Robotium to test mobile web sites on Android browser, like the use case I'm asking about, or do you use it to test other things like apps you've written? – Trott Oct 11 '11 at 17:31
  • I used robotium for application written by me and some native android application like setting, gallery etc.. – user370305 Oct 11 '11 at 18:14
  • +1 for Android WebDriver! U gadn't seen that one. I will definitely have to check it out. – Trott Nov 01 '11 at 05:47
2

WebDriver is selenium 2 and it support both Android and iOS. You could also consider SeeTest from experitest, it support both dom and image processing.

Guy
  • 325
  • 2
  • 6
  • 14
1

Looks like the answer is: Yep, those are the two standard tools right now (as of October 2011, when this answer was originally written).

There are services that may allow automated tests on both real (not emulators or simulators) iOS and Android devices including MonkeyTalk and experitest (as of this revision to the answer in April 2013).

Trott
  • 66,479
  • 23
  • 173
  • 212
  • 2
    I've revised this 2.5 year-old answer with updated information about the growing number of services that now address this problem. – Trott Apr 11 '13 at 13:34