I finally decided to write on iOS automation after evaluating couple of tools.
The tools that I tried are
1. Fone Monkey (I tried it when it was fone monkey)
2. Test Studio
3. UIAutomation (from Xcode Instruments)
4. Calabash Cucumber framework.
Fone Monkey, was easy to setup and the device had to be on the same wifi as the desktop/laptop, where the fonemonkey is integrated with the build.
As it works via the JSON string commands. the difficulty was the same script passed and failed based on the speed of connectivity.
Test Studio, the scripts are easy to comprehend. Easy for demo purposes. But to edit and insert your own code will be difficult. also, not sure if the latest version supports the hybrid app. coz html links were not working. Also, the scripts once written had to be exported. And the scripts have to be recorded for each device stack.
UIAutomation from Xcode Instruments. It is a viable tool where the scripts can be written using javascript. You can automate both native and hybrid apps. It is an amazing tool, where the UIAutomation ref pdf from apple is up to the mark. But you may need to to maintain the code.
Calabash Cucumber, has a long list of setup instructions which will guide you to install ruby version manager (rvm) and ruby gems, calabash ios, cucumber etc. But they are to the point, including the possible errors that one might encounter. Once you set that up, there are predefined functions which are called predefined steps. They are all included in the resources file. All you need to do is start writing code in natural language in a file that has an extension as .feature. Viola, the script runs flawlessly! You have a specific requirement, you can write your own custom steps. Also, record and playback is easier, not only that, you can save it as a .base64 file and can call from your script using the playback function!. Since it is in natural language, you dont need an automation specialist to write your scripts.
The only drawback is, if you have a backend platform (portal) to which the app talks, those steps cannot be automated using this, except for the workflows that you can execute with curl commands, or the ones, where you can make a function call. But for an app only application, that does not require end to end (from portal to app), this is a blessing. Support wise there are a lot of blogs threads, where you can get prompt answers.
The tools that I tried are
1. Fone Monkey (I tried it when it was fone monkey)
2. Test Studio
3. UIAutomation (from Xcode Instruments)
4. Calabash Cucumber framework.
Fone Monkey, was easy to setup and the device had to be on the same wifi as the desktop/laptop, where the fonemonkey is integrated with the build.
As it works via the JSON string commands. the difficulty was the same script passed and failed based on the speed of connectivity.
Test Studio, the scripts are easy to comprehend. Easy for demo purposes. But to edit and insert your own code will be difficult. also, not sure if the latest version supports the hybrid app. coz html links were not working. Also, the scripts once written had to be exported. And the scripts have to be recorded for each device stack.
UIAutomation from Xcode Instruments. It is a viable tool where the scripts can be written using javascript. You can automate both native and hybrid apps. It is an amazing tool, where the UIAutomation ref pdf from apple is up to the mark. But you may need to to maintain the code.
Calabash Cucumber, has a long list of setup instructions which will guide you to install ruby version manager (rvm) and ruby gems, calabash ios, cucumber etc. But they are to the point, including the possible errors that one might encounter. Once you set that up, there are predefined functions which are called predefined steps. They are all included in the resources file. All you need to do is start writing code in natural language in a file that has an extension as .feature. Viola, the script runs flawlessly! You have a specific requirement, you can write your own custom steps. Also, record and playback is easier, not only that, you can save it as a .base64 file and can call from your script using the playback function!. Since it is in natural language, you dont need an automation specialist to write your scripts.
The only drawback is, if you have a backend platform (portal) to which the app talks, those steps cannot be automated using this, except for the workflows that you can execute with curl commands, or the ones, where you can make a function call. But for an app only application, that does not require end to end (from portal to app), this is a blessing. Support wise there are a lot of blogs threads, where you can get prompt answers.
No comments:
Post a Comment