Android and iOS Test five of the best open source Automation tools _android

Source: Internet
Author: User
Tags node server appium

Automated testing plays a very important role in product testing. There are a number of positive ways to implement test automation, including minimizing test execution time, ensuring greater coverage during critical release phases, and working reliably and repeatedly during the product development phase to ensure that regression issues are not introduced. Minimize the risk of human error and negligence in repetitive regression testing cycles.

There are many tools available on the market, open source or paid for. Although both pay and open source tools have their pros and cons, the latter are widely used in the automated testing community. Choosing the right Automation tool based on the project needs is tricky.

Here are 5 of the best open source Automation tools for iOS and Android.

 1.Calabash (for Android and iOS)

Calabash is an open source acceptance testing framework that supports Android and iOS automation. Calabash provides a separate library for Android and iOS automation testing. This is a cross-platform framework that supports cucumber,cucumber enabling you to express the behavior of the app in a natural English language, to achieve BDD (Behavior driven Development, behavioral-driven development).

Calabash provides a bridge that allows cucumber to test the running and verification of iOS and Android. Cucumber tests are written using a list of statements that form many test scenarios. All statements in the cucumber are defined using ruby.

The Calabash,cucumber statement can only be defined once, but may be reused in different scenarios of the cucumber script.

The actual test is written in Gherkin, relies on the support of Ruby code, and runs in the context of the cucumber framework.

Advantages:

Large community support.

Simple, similar to the English expression of the test statement.

Supports all actions on the screen, such as sliding, zooming, rotating, tapping, etc.

A large and enthusiastic community.

Cross-platform Development Support (the same code applies to both Android and iOS devices).

Disadvantages:

After the test step fails, all subsequent steps are skipped. This can lead to missed more serious product issues.

It takes time to test because it always defaults to installing the app. However, this setting can be overridden by configuring a hook in your code.

The Calabash framework needs to be installed in the iOS IPA file.

We have to have the app code for iOS.

In addition to Ruby, it is unfriendly to other languages.

2.Appium (Android and iOS)

Appium is an open source automated test framework sauce Labs for native, hybrid, and mobile web apps. The Appium library function within the framework calls the Appium server that is running in the background of the operating connection device. It uses jsonwireprotocol internally to interact with iOS and Android apps that use Selenium's webdriver.

Unlike Calabash, which only supports Ruby development, you can choose from Java, Python and Ruby, and all other selenium webdriver supported languages when using Appium in a framework.

The Appium server is hosted on the node server. You can start the Appium server by triggering a set of node commands. Using Appium Standalone Application as a server (downloaded from the Appium Web site), the Inspector tool provides the ability to find/identify/operate on all of the app's locators.

Advantages:

Supports multiple languages.

No access to source code is required.

Cross-platform Scripting development.

Large community support.

Support for script logging on Mac.

Use the Inspector tool of the Appium server application to extract identifiers.

Built-in support for selendroid via Appium server's desktop application.

It also uses the vendor-provided framework: UIAutomation for iOS, which is suitable for both the Android 4.2+ and 2.3+ Uiautomator and selendroid.

Supports physical devices and emulators.

Support for native, hybrid, and mobile Web automation applications.

Disadvantages:

Publishing Appium server desktop applications is often volatile.

Script logging does not apply to Application Server desktop applications for Windows OS.

3.Robotium (Android)

Robotium is an open source testing framework for developing functional, system, and acceptance test scenarios. It is very similar to selenium except that Robotium is only available for Android. It is registered under Apache License 2.0.

Because it is not only simple, but also has the ability to create powerful and reliable automated scenarios, it is widely popular in the automated testing community.

It takes the runtime to bind to a GUI component. It installs a test case suite as an application on an Android device or emulator, and provides a real-world environment for performing tests.

Advantages:

Easy to write test scripts in the shortest time possible.

It is possible to preinstall automated apps.

Automatically follows the current activity.

Because the runtime is bound to a GUI component, its tests execute faster and more powerful than appium.

You can also work without accessing the code or not knowing the app implementation.

Supports activities, Dialogs, toasts, Menus, context Menus, and other Android SDK controls.

Disadvantages:

Flash and Web Components cannot be processed.

Support Java development.

It can become very slow on old devices.

Because iOS devices are not supported, tests are interrupted when automated tests cover both Android and iOS.

There is no built-in recording and playback capability. The use of the logging feature requires testdroid and Robotium recorder to do the charging tool.

4.Frank (IOS)

Frank is an automated framework for iOS apps that allows you to use cucumber to write test scenarios for structured English sentences.

Frank requires that the test be compiled inside the application, which means that changes to the source code are mandatory. This is a tool that uses the cucumber and JSON combination commands to send commands to a server running inside a local application and to run commands using Uispec.

Advantages:

The test scenario is written in understandable English sentences with the help of cucumber.

symbiote--contains real-time inspection tools.

It is also effective if the team has experience with the Web selenium and cucumber automation framework.

Active community support.

Constantly expanding the library.

Disadvantages:

Support for gestures is limited.

Running tests on a device is a bit difficult.

Modifying the configuration file requires running on the actual device.

The logging feature is not available.

5.UIAutomator (Android)

Uiautomator is a test framework provided by Google that provides advanced UI testing of native Android apps and games. This is a Java library that contains APIs to create functional UI tests and an execution engine to run tests. The library is self-contained with the Android SDK. There are many tutorials available for beginners. The advantage is that it gives junit test case privileges when it runs access to a different process. While this is both good and simpler for native automation apps, it is very limited or virtually unsupported for Web automation views. It only supports devices that use API level 16 and above, but that's not a big factor because most app support APIs are now level 19 and above.

Advantages:

A simple and easy to learn tutorial.

The library is supported and maintained by the Google community.

Third-party payments integrate test management based on cloud computing.

Disadvantages:

Only Android 4.1 and above are supported.

Script logging is not supported.

The focus of support is Java.

You cannot get current activity or instrumentation.

Web view is not currently supported, so it is a hybrid app.

Libraries support the use of Java, so it can be difficult if someone wants to mix with Ruby's cucumber. But Java has its own BDD framework, although not much in practice.

The above is the Android and iOS automated test data collation, follow-up to continue to supplement the relevant information, thank you for your support for this site!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.