There doesn't seem to be many choices out there for running functional tests on the iPad/iPhone. A quick search brought up a few options: FoneMonkey, Frank, UI Automation.
Does anyone have experience with any of these or have suggestions for better solutions?
I'm the FoneMonkey project founder, so admittedly a bit biased, but I would strongly recommend you give FoneMonkey a try. It provides robust recording and playback for native iPhone and iPad apps, and you can easily extend custom scripts with Objective-C logic to automate virtually any UI scenario.
The next release (due out later this week) generates UIAutomation-based tests in JavaScript, as well as ready-to-run OCunit tests.
Stu Stern
I also found these:
UISpec: http://code.google.com/p/uispec/
Squish: http://www.froglogic.com/products/editions.php
Are there some more?
This is another tool that could be used for UI testing.
Debugging with console environment.
libcat : interactive iPhone application development
https://github.com/wookay/libcat
There is also one more app in app store. Name of app is TestStudio from Telerik. (http://www.telerik.com/)
It is good but you require Mac Book to install their extension where you can register your app and then use that app on iPad to test.
Hope this will help.
Related
I'm looking for a iphone test tool which has big support for uiwebview. Because I'm making a hybrid app, basically make a native shell and render a website inside the uiwebview of my app. I need a tool to help me test the user interaction with the website. So when the other people change the website, they can run this test first to make sure their changes don't screw my stuff. I checked couple of popular iphone test tools, they don't have a good support on uiwebview. Is there any recommendation? Thanks!
Fonemonkey has inbuilt support for selenium, if you can write a selenium script for your hybrid web app and use fonemonkey to run them i guess it is quite possible to do the testing.
hey one more thing, fonemonkey is now replaced with monkey talk, try that out,
http://www.360logica.com/360logica-social/blog/item/123-monkey-talk-for-ios-set-up
monkey talk website: http://www.gorillalogic.com/testing-tools/monkeytalk
I have been involved in doing web automation and Android automation testing. Currently we are looking for any iPhone functional testing tool which will help us to reduce the number of hours for regression testing. We are looking for an open source tool like Selenium or Robotium, where test cases are easier to write and implement.
If you wait until iOS 5 is released, I am sure you will find a component in Instruments that will do just what you want.
Non open source option could be SeeTest from experitest. It support both Android and iOS.
These days there are a number of projects to automate testing for native applications, including iphones. These two are the ones i see first on github searches.
https://github.com/TestingWithFrank/Frank
https://github.com/ios-driver/ios-driver
I remember there must be more but i do not recall their names
I am a C Sharp.NET & Silverlight developer and now thinking to swicth to SmartDevice development specially for iPhone & Andriod based phones. I have looked over web and found some cross platform development frameworks like
http://developer.openplug.com
http://www.phonegap.com/
http://android.xamarin.com/Welcome
but not sure about which to choose. Naturally I would like to keep my learning curve less but also would like to choose platform which provides more power, so I am looking for your suggestions and 'Getting Started' tips and also which device you think will be in demand in future iPhone or Android ? .
Thanks,
Maverick
I wouldn't recommend any of those. The problem is, that those "cross-platform" development frameworks, still aren't cross-compilable. This means you still need to develop an application for each platform, but you can reuse heavy calculations if you are using models af MVC.
Another thing is that those frameworks still aren't 100% native supported, so you'll loose some features from the native frameworks when developing applications.
I've read a lot of articles and to be honest, these cross-platforms seems to be dying out, cause both Android and iOS are moving very fast in each their direction and the cross-platforms cant keep up. But it's still up to you.
In would recommend you to choose one of those platform and learn it from scratch. With your C Sharp background, maybe iOS and Objective-C would be the most natural choice.
Enjoy
Edit: Regarding you last question:
I dont think it matters which one you choose, both will be domination for a long time. You should pick the one you can identify yourself with.
since you are C# dev, go for MonoTouch. I heard good things about it.
Miguel de Icaza is behind Xamrin. He wrote the most prolific .NET platform for UNIX, mono. I believe both he and his team have the capacity to bring you the most coverage for common features on Droid and iOS. My friend has a startup and is releasing an app shortly for iOS on Xamrin. It is a video streaming app.
HTML 5 will get you the most cross platform for the investment. Of course, like everyone else has said, if you need lots of native integration or if you want to use the latest APIs upon availability, you have to go native.
I'm just recalling the days when Radio Shack used to sell pocket computers. (Many moons ago, w/ only a few K of memory.) They had the ability to write small programs on Pocket computer. Maybe it's just nostalgic, but I alway thought that was handy. (Through the fog of my memory.) Is there any capability like that for an Iphone?
Edit:
I can kinda understand not allowing a like a GameBoy emulator on the App-store, it's kinda like saying your ok with people loading "ROMs" and could get them in trouble. When you start profitting from an Emulator the license holders get pissy, just think about "Bleem" and Sony. Sony buried those guys. I suppose Javascript is better than nothing. What about Java in a sandbox? Or if they want something they aren't afraid is going to cannibalise there market, a BASIC interpreter.
I don't believe that you are allowed to in the terms of service for the App store. Isn't this why mono programs have to be staticly compiled if they are going up to the App store.
If you are looking to go off the beaten path, James Long's blog details how to run Gambit Scheme code on the iPhone. Load the application once and then load code changes progressively as needed.
In a following blog post, he details how to debug your applications remotely with an REPL. Very cool stuff. Between the simplicity of Scheme and the existing work he's done on his blog, a lot of the work/difficulty involved with developing in a "non-standard" way on the iPhone is taken care of for you. It's worth a shot!
Python is possible:
http://mail.python.org/pipermail/python-list/2008-November/686098.html
The only thing remotely close to that (without Jailbreaking) is Javascript/HTML in Mobile Safari.
While "on" your iphone is relative www.tilestack.com is a web based development environment that can produce webapps.
Terminal.app can be compiled for limited distribution (w/o jailbreaking). /bin/sh is a valid programming language. QED.
Yes, it is possible to set up a node.js programming environment that lets you run your own server on the iPad. It's also possible to run javascript using the textastic code editor. See Is it possible to do programming using iPhone?.
I am looking for any tool or approach using which I can do UI unit test for iPhone application, I am aware of SenTestCase framework however which is used to do that testing for code I am looking for UI unit testing.
Check out UISpec http://code.google.com/p/uispec/
It's an open source ui testing framework being developed for the iphone.
Cheers!
You can use OCUnit/SenTest to do unit tests in the UI as well as on the other code - this blog post from Chris Hanson is about Cocoa UI unit testing but the same principles apply to Cocoa Touch.
Try libcat for UI testing and automation.
also providing console mode.
interactive iPhone application development
https://github.com/wookay/libcat
If you're willing to build a special testing target for your app, you can use the Ruby-based Cucumber framework to drive an iPhone GUI remotely: http://www.slideshare.net/undees/iphone-meets-cucumber
--Ian
There is also Fone Monkey which allows you to record actions and then add assertions.
http://www.gorillalogic.com/fonemonkey
Google has a pretty cool set of tools as well.
http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting