I'm brand new to Mobile application automation. So, I did a research for selecting a good automation tool for test Android applications.
I need a tool with following requirements
Functional testing
UI testing for different devices, different Android versions
Can write scripts using Java
According to my reading Appium is the best option for functional testing. Can someone give a comment about the best testing tool to cover both functional and UI testing.
Thanks in advance. :)
Appium is a cross-platform tool and works for hybrid as well as native apps where as MonkeyTalk doesn't support hybrid apps.
Related
Is there any tool for testing Android and iOS apps? I know of Appium but that is used for web apps.
I'm looking for something which I can use to automate UI testing just like selenium for web but on Android and iOS apps.
Also, the company I work for only provides me access to the various app builds and not the code itself so I want to be able to just test the downloaded apps.
cheers
You can use appium for webapps/native apps/hybrid apps for UI testing
So one choice is Appium + Binding language of your choice e.g. Java,C#,Python etc
Other options would be to use direct unit tests frameworks for iOS / Android like
Espresso testing framework for Android apps
Robot Framework for Android apps [this is not a native framework]
Instruments or XCUTest for iOS apps
But if you choose native frameworks you have to learn them and you have to write different frameworks for both platform apps
So recommended tool is Appium as you can build single framework for both the platforms.
You do not require app code while doing automation using Appium.
The only requirement is
for ios you require development builds
for android in case of hybrid app you require development builds
For single framework you can use #AndroidFindBy #IOSFindBy annotations
I am a newbie to mobile test automation. I searched a bit and read a lot about using calabash (cucumber + ruby) to automate the testing for Android and iOS.
If we don't use the cucumber layer in between (i.e. if we don't have cross functional teams), is it possible to do mobile test automation for android or iOS directly with the programming language through Eclipse/Rubymine?
I do not think cucumber layer is between something. Its the front end using which you write the feature and scenarios. I have been using Calabash for both android and ios automation testing and I do not think it can work without cucumber. But there are cases where people try to use Java or C# instead of Ruby with cucumber. Here is the github link https://github.com/cucumber/cuke4duke. It looks old and i am not sure if there is active development on cuke4duke
I'm looking for various automation suites that can automate iOS / Android. I have an application that uses the third party Video/Audio/Photo/ from the native OS.
I was using Robotium with android before but I couldn't get it to take a photo/video/audio etc and research on google stated this wasn't possible.
I also attempted to use Calabash-iOs/ Calabash-Android but ran into the same problem when trying to take the video/photo/audio from an application outside the testing application.
Any recommendations for testing suite for iOS And/or Android?
Thanks!
uiautomator allows to automate features you need.
It can access system features and pre-installed apps.
The challenges include:
1) only one language for development – Java; 2) and it works only on Android 4.0 or later.
P.S. Calabash and Robotium will not help to automate third party apps. I've used them both.
I would like to suggest you Appium, This tool gives you access to do the stuffs you are trying to do:
http://appium.io/
I am trying to use automation frameworks similar to Selenium to test native apps (both android and IOS apps). Does anyone have a list of frameworks that is suitable for the tasks. Java based frameworks are preferred but others are welcome too. I want to go over the merits of each framework and make a final determination
There are lots of options to test mobile applications, not all are cross platform though. You say this is important to you so I would either say MonkeyTalk (http://www.gorillalogic.com/testing-tools/monkeytalk) calabash (http://blog.lesspainful.com/) or the new Calabash Driver projects (A form of calabash made to look and feel more like selenium from the ebay guys just recently announced) https://github.com/calabash-driver/calabash-driver and https://github.com/freynaud/ios-driver.
Appium is a Selenium-compatible mobile automation tool which lets you write tests in Java and other languages using the Selenium client libraries.
My team has been using Frank for the past 14 months and it's been working out really well for us. It describes itself as: "Selenium for native iOS apps". It's a fairly active project, and has a small community that's very helpful.
You can get started here: Testing With Frank
For iOS: Unlike the ruby based Frank, KIF is a 100% obj-c solution, which makes for easier integration with your iOS code.
Take a look here for an example of how I used KIF for my iOS project and the reason why I chose it over Frank.
How can i automate Android Apis for better quality ? How can i test the android applications to get a better quality of this software..?
I would recommend you checkout Robolectric for testing Android apps.
Use Robotium, its a good tool to use for Android Automation
http://www.robotium.org/
Try robotium, i am using it, Its very easy for writing your Functional Test Cases and can be tested in all android Devices.
Espresso is the best option coming forward to automate the android API's. Google has developed this testing kit for developers to write the unit test cases. Here's the Google's home page for espresso
https://code.google.com/p/android-test-kit/wiki/EspressoStartGuide
Google has also implemented the sample test cases which help to learn espresso faster. Main advantage of espresso is its speed of execution and its work asynchronously meaning we are not explicitly required to write wait for actions in espresso. Developer should only perform action, waiting time taken care by espresso.
Here's link which gives start to espresso in easy to understand way:
http://www.stevenmarkford.com/android-ui-testing-with-espresso-basics-tutorial/
I would suggest you to use Seetest.
This is also an automation tool independent of any platform. You can run the same test script across all the platforms like Android, IPhone, Windows Phone using this tool. Moreover it has a plugin for existing test frameworks like QTP, Testcomplete etc. Here is the link to download the trial version of the same.
http://experitest.com/support/download-2/
I would suggest Webdriver/ selenium 2.0 android driver if you are looking for open source. its good and robust as well
Try bot-bot. Its a functional automation tool built over Robotium/Nativedriver. It have recording feature which helps in easy element identification and writing test-cases.
It uses "Ant" for build and running the tests. This helps in integration with continuous integration tools.
At the end of your test execution it generates emailable html reports with pass-fail status.
If you have a spare Raspberry-Pi, you can also use that to speedup your test :) , much better than running on Emulator:
Raspberry-PI for Android Test Automation