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
Related
I'm new to mobile automation and I'm planning to automate a native Android app (not my own so I have only the APK file) so I was reading about the tools available for Android automation. I came across Appium which I understand uses Uiautomator to do so.
I was wondering what are the advantages of using Appium instead of directly using Uiautomator or in which case is better to use Appium or Uiautomator.
If you use native tools for mobile automation then you have to learn different languages to write scripts; e.g. a UIAutomator script will have to be written in Coffee. Similarly for iOS XCUITest, you have to know Swift C or direct methods of the XCUIElement class.
But if you use Appium, you can write scripts in your favorite language; e.g.: Java,C#, Python, Ruby, JavaScript, etc.
With Appium you can use a single framework for both android and iOS platforms. If you use native tools, then you have to maintain different frameworks for you AUT.
Summary -
Native tools - Language dependency, different platforms requiring different frameworks to be maintained, script execution is faster.
Appium - No/Minimal language dependency, easy-to-maintain frameworks, script execution is slower as it is a wrapper over native SDKs.
UIAutomator is only specific to android devices, similarly for iOS devices there was XCUITEST\UIAUTOMATION
With this approach (UI Automator) you will need to have two frameworks in case you have same app for testing on IOS and Android OS (which is usually the case).
Hence Appium arrives as a wrapper which can be used for both android\iOS mobile OS.
If you are a beginner, you can refer below tutorial to learn mobile automation
https://automationlab0000.wordpress.com/2018/09/10/appium/
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'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.
Can any one clear this up for me, is protractor a tool or a framework?
As per my understanding protractor is a framework on which selenium on built on top of.
If I want to make a mobile app (hybrid and native) automating using protractor what are the possibilities? please make recommendations to me.
Thanks in advance.
Take a look at Appium: http://appium.io/
That is a go-to tool + framework for testing hybrid and native mobile apps.
And it is also built on top of selenium.
Basically protractor designed for angular web pages. It mostly used for developer unit testing purposes. But if you need a mobile automation tool use appium. It built on selenium. you can find most of the features which selenium supports. Appium supports Native , Hybrid and mobile web as well.
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.