Brown Bag Sessions is going to mobile! Flexisource IT’s Senior Mobile QA Engineer Francis Chavez shared his insights in his session, “Appium 101: How to use  Appium to Your Advantage” last October 10. 

His expertise in test automation in mobile applications for six years made Francis an excellent resource for this week’s Brown Bag. He shared key features and advantages in using the open-source automation tool for running scripts and testing native applications.

Appium Basics

Appium came to be as an answer to the recurring need to automate testing mobile applications. Founded in 2011 then open-sourced by 2012, the automation testing tool came a long way to aid quality assurance (QA) analysts, specialists, and engineers.

Appium is created to drastically lessen the effort from the tester. According to its official site, it’s an “open-source tool for automating native, mobile web, and hybrid applications on iOS mobile, Android, or Windows SDKs.”

Its cross-platform feature allows testers to write tests against multiple platforms using the same API. This enables them to reuse the codes across platform test suites.

“It might not necessarily fast track software development process, but instead, it helps reduce the runtime test execution of the application or software testing on mobile apps,” said Francis. 

 

How to Use Appium to Your Advantage

 

Automating tests through Appium comes with various features that you can use to our advantage.

One of its advantages is its strong open-source community. It is backed by a large, dynamic community with steady support, commits, etc. from testers, analysts, and engineers. It’s also the leading open-source test framework for cross-platform mobile automation.

Francis also mentioned the outstanding support for a great number of programming languages, thanks to JSON Wire Protocol. As mentioned, it supports the automation of native, hybrid, and web applications, and also supports multiple frameworks.

Unlike Robotium, you won’t need a source code in running Appium. It’s also compatible with Selenium WebDriver and is able to run on Selenium grid. 

Appium has the ability to handle end-to-end test flows in multiple programming languages (Java, JavaScript, Perl, Python, C#, etc.) through the Remote WebDriver language bindings. 

While there are various advantages, users of this tool should be wary of some challenges.  There can be challenges in terms of performance and stability. Issues can arise when executing through CI or at scale, and there could also be instability in its parallel execution. 

Challenges can also arise in Appium in terms of the latest operating systems features. It has to fully cover the gestural inputs, environment conditions, device settings, among others. It also has to support the latest Beta and GA versions of both iOS and Android. 

Francis also pointed out the challenge in setting up Appium locally. 

“Working with app objects for both iOS and Android is not easy, and is one of the top challenges,” he said. 

Community-supported solutions move slower than the handset vendor or OS innovators. So, when you encounter issues, the community not necessarily helps in terms of efficiency.

 

Key Takeaways

 

Appium is still a great tool in test automation. While there are challenges, there are far more benefits for QA testers, analysts, and engineers. Plus, Francis noted that there benefits for the project owners too. 

“[Appium] reduces test execution time and diminishes the need for further resources. This leads to a lesser business cost for the clients.”

Besides, it works well, especially in Agile mobile development projects

With a good test plan and automation design, test execution run time will be reduced, more test cases can be run, and the need for additional costs can be removed,” said Francis. 


Flexisource IT’s Knowledge-sharing Culture

 

Throughout the year, Flexisource IT has been organising and initiating events like Brown Bag Sessions to contribute to the flourishing IT industry in the Philippines. Through these sessions, developers and enthusiasts can learn from one another. 

Even Francis loves this initiative. “It is never wrong to share information with the community. It will greatly help professionals, businesses, and even students to grow together,” he said. 

Francis has some few tips for enthusiasts and learners of Appium and QA.

“Number one, learn to code. Two, learn to innovate. And three, don’t give up on learning.”