What is the Best Language for Mobile Test Automation?

Wednesday, February 14, 2018

Considering mobile test automation? Here are a few things to consider when choosing the best automation language for mobile app and mobile web testing.

Lately, it seems that all anyone in enterprise mobility can talk about is mobile test automation. With the rise in popularity of open-source test automation tools such as Appium and the reliance on commercial mainstays such as MicroFocus’ UFT, mobile testers and quality assurance teams have more choices than ever for automated testing.

But, choosing the right test automation tool or framework for mobile testing is just one piece of the puzzle when considering automation. Before making this decision, enterprise mobility teams need to consider what is the best language to leverage for test automation.There are several factors to consider when making this decision, such as cost, flexibility, and the individual skill sets of team members.

But, how do you go about making this decision? Below are some things to consider when choosing the best language for mobile test automation.

Tools of the Trade – Mobile Test Automation

Today, the majority of testers and quality assurance teams rely on two testing tools – Appium and UFT. As an open-source framework, Appium has grown in popularity because it gives mobile testing teams more agility and flexibility when writing tests. But, there are many teams who are still faithful to UFT and its longevity as a testing tool, especially as part of MicroFocus’ ecosystem of solutions.

In many ways, choosing the right test automation tool comes down to the simple choice of selecting an open-source tool as opposed to a commercial option. This is why considering the overall skill set of the team is important.

For teams who are not as skilled in development and who need traditional dedicated vendor support, Appium is not a good choice. Appium is still in its beginning stages of development and requires advanced experience with scripting tests and reading online development documentation. On the other hand, quality assurance professionals who have experience scripting tests and developing automation pipelines may baulk at the restrictions of UFT. When making this decision, let your team and your test automation goals be your guide when choosing the right tool.

Once your team selects the right testing solution, there are several options for test automation languages, especially if working with Appium.

Appium and Automation

One of the main benefits of Appium is that it gives mobile testers and quality assurance teams the flexibility to build tests in a framework that fits into their development processes.

For teams that are leveraging agile mobile testing, integrating Appium into the testing process also benefits mobile developers. Because Appium tests are easy to include in the development source code repository, developers will also have access to functional tests. When these tests are readily available, developers will be more likely to leverage Appium as part of their development process. Therefore, when the whole team is able to utilize Appium to develop and test more efficiently, DevOps initiatives benefit from a boost in efficiency.

On the subject of agile development one of the reasons that Appium is so popular with enterprise mobility teams is that Appium’s different client libraries support many programming languages. This robust support provides diverse choices for teams when building automated tests. Here’s a look at some of the most popular languages that Appium supports.


Java is the most common language that mobile testers and quality assurance professionals use for automation when paired with Appium. There are several reasons why Java has resonated with enterprise mobile professionals. Perhaps one of the most important is that there are many free examples of Java available online that can be leveraged for building tests. Many teams enjoy the support and tips they get from online forums where other testers share their knowledge with their peers.

In addition to having a lot of information readily available, the Appium Java client currently has the most robust Appium functionality.

Other benefits of automating with Java:

  • Cross-platform operating system (Mac, Windows, Linux)
  • Leverages Eclipse or IntelliJ, which developers were already using to build Java applications
  • Tools used when writing tests are free and have mature functionality


Is your team a .NET shop? If so, C# is a great fit for automation if your mobile testers and quality assurance teams want to leverage Visual Studio and/or Team Foundation Server.


For teams using Cucumber, Ruby has easy Cucumber integration for BDD testing. Although other languages can support Cucumber, Ruby has the best support available.

Other Appium Programming Languages and Frameworks

For teams who do not want to leverage Java, C#, or Ruby, Appium also supports Python, PHP, JavaScript, and even frameworks like RobotFramework.

The Selenium and Appium Connection

Because Appium is essentially “Selenium for Apps,” testing teams who leverage Selenium can benefit from leveraging Appium for the following reasons:

  • Little training is required for Selenium users to get up to speed with Appium
  • Existing desktop web tests can be extended to mobile
  • Appium can leverage the same testing framework

No matter what language best suits mobile testers and quality assurance, Appium provides the agility and freedom to work in the language that best suits the entire team.

But what if Appium is not a good fit? MicroFocus’ UFT is another viable option for enterprise teams to leverage when building tests.

Steady and Seasoned: MicroFocus’ UFT

Formerly known as HPE QuickTest Professional (QTP), MicroFocus’ UFT is a tried-and-true solution that still has a high adoption rate and many long-time existing users.

But, unlike with Appium, UFT only supports one programming language for automation. Enterprise mobility professionals are required to use VBScript for writing tests. Because VBScript is a simple scripting language, it is not considered object-oriented programming like Java or C#. For testers wanting to use object-oriented languages like Java or C# with UFT, a LeanFT extension is required.

But why would a testing team want to continue leveraging a commercial solution like UFT that only supports VBScript? UFT gives users flexibility in writing tests where novice users can use a point and click method for identifying objects and use a keyword approach to write a test. They do not have to deal with any scripting languages.

In addition, many teams find comfort in using a commercial solution that is part of a larger ecosystem. Many organizations have an HPE/MicroFocus enterprise license, which enables testers to not only use UFT, but to leverage other tools such as ALM/Quality Center and Performance Center.

Final Consideration: Reporting

When choosing the best language for automation and the best tool or framework for automated testing, do not forgot to take the team’s reporting needs into consideration.

Because Appium does not include any reporting capabilities, teams must choose a separate provider for reporting, such as Allure. For teams using UFT, results are stored in ALM/Quality Center.

Regardless of which language your team chooses for automation, finding the right tool or framework for mobile automated testing is beneficial for continued innovation and mobile app and mobile website delivery.

Curious about leveraging Appium or UFT with a mobile device cloud solution? Check out a video demo of Mobile Labs’ deviceConnect™ to learn more about the benefits of a mobile automated testing platform.

Steve Orlando

Steve Orlando is a seasoned development and quality assurance professional with experience testing and developing mobile, Web, mainframe, CRM and desktop applications. In his role as director of product marketing for Mobile Labs, Steve drives the design and implementation of the company’s private mobile device clouds, GigaFox™ and deviceConnect™.

More Posts | Website