Thursday, May 31, 2018
It is often difficult to remember life before mobile. From bulky car phones in bags, to flip phones, to today’s smartphones and tablets, it is amazing how quickly technology has evolved and its influence on consumer behavior.
As the types of available devices expanded, and internet connectivity continued to speed up, so did the abilities of mobile devices to connect, entertain and captivate the minds of consumers via the mobile web. And then, the explosion of mobile apps happened, which was a game changer for testing teams. Now simply testing mobile web was not enough – teams needed a solution to test these robust mobile apps.
With mobile apps and mobile web, consumers are able to do virtually anything on their mobile devices. Thanks to the rapid growth of mobile apps, testers found themselves with an entirely new platform for testing.
Before the explosion of mobile, web served as the primarily platform for testing. Testers relied on tools such as MicroFocus’ UFT (formerly HP) and Selenium. But recently, Appium has made a huge impact in enterprise mobility for testers interested in test automation for mobile apps. When it comes to generating industry buzz, Appium has been a hot topic from thought leaders and vendors at enterprise mobility events worldwide.
But, how exactly did we get to this point? How did we go from mobile web testing to mobile app testing, and how did this trend result in the creation of Appium?
To answer this question, it is important to take a look at the history of web testing and Selenium.
Before Selenium, when it came to web testing tools, UFT was the clear market leader for testers. As a commercial tool, UFT offered a robust support community and testers benefited from being connected to a larger ecosystem of tools formerly available from HP. Today, testers using UFT are now a part of the MicroFocus ecosystem, thanks to its recent acquisition of UFT. Today, testers leveraging UFT automation enjoy using a stable tool that has stood the test of time and is ideal for testers who are not as savvy when it comes to writing scripts and complex programming.
Although many testers embrace commercials tools there are other testers who thrive in an open-source environment and chafe against the restraints from commercial tools like UFT. Therefore, Selenium was developed to bring more freedom to web testing.
Selenium prides itself on being a tool that simply automates web browsers. As an open-source solution, testers are empowered to harness Selenium as a means of automating web applications for testing. Testers with the appropriate skill sets and hunger for innovation can really make the tool their own through customization.
As Selenium began to rise in popularity it pushed UFT out of the #1 spot for web testing tools. In fact, Selenium captured such mindshare in the industry that it is actually the core technology used by other browser automation tools, APIs and testing frameworks thanks to its powerful capabilities.
In addition, Selenium supports many different scripting languages, while commercial tools usually support only one language. This freedom in scripting languages opened up the world for testers by bringing much need flexibility when writing test scripts.
Selenium also utilizes the web browser’s native API when testing and easily integrates with other open source tools for additional options for web testing and integration with other tools in the testing lab.
It is important to note that unlike commercial solutions, Selenium requires testers to have programming skills to write tests. For teams without deep programming skills, Selenium may be a challenge to use. For teams that have programming capabilities, Selenium allows testers to write tests in their language of choice and to their desired specifications.
Even though Selenium is still a robust testing tool used today for web testing, the growth of mobile apps required a new tool for testing on this platform. Thus, Appium was born to fulfill this need and has its roots in the Selenium framework.
Like Selenium, Appium was developed by the open-source community to test mobile apps. Basically Appium is “Selenium for Apps,” as it is based on Selenium’s Webdriver technology. Appium functions by using the native APIs of iOS and Android to communicate to the apps or web browser on a mobile device.
For history buffs, you can check out this website to get a comprehensive history of Appium. But in a nutshell, Appium was born from Co-Creator Dan Cuellar’s need to test an iOS app while he was a test manager at Zoosk in 2011. To accomplish this task, he built iOSAuto, using the same underlying philosophy as Selenium by leveraging a native API. In 2012, Cuellar met Selenium’s co-creator, Jason Huggins and together they created Appium using Selenium Webdriver’s wire protocol over HTTP.
Although Appium in its earliest form has been around since 2012, it is only recently that Appium has really begun to resonate on a wide-scale in enterprise mobility. As a testing tool for apps, it offers many of the same benefits that Selenium does for web testing. Today, Appium has an active, open source community that works to expand the tool’s capabilities.
Also, many thought leaders and vendors in enterprise mobility have started to add Appium support capabilities into their current solutions. As Appium continues to grow in popularity, expect to see more features and functions from vendors and more insight from thought leaders around this testing framework.
Perhaps one of the most interesting things about the relationship and connection between Selenium and Appium lies in the power of pairing the two solutions for testing – bringing a powerful suite of tools to today’s testing labs for web and mobile app testing.
For testers that are familiar with Selenium, and have used the tool, getting up to speed with Appium for mobile app testing is an easy learning curve. Because Appium is built on Selenium’s framework, the skills are easily transferable and intuitive.
For teams that are using Selenium and Appium, testers can also leverage current web browser test assets (provided the object names are the same). It is important to note that for both native and hybrid apps while the structure of the tests are similar, the type of objects in the tests are different.
By leveraging both tools in today’s modern testing lab, testers have the best of both worlds. If they are familiar with Selenium and use it for web testing, then bringing in Appium to test mobile apps is a logical next step. If teams are using Selenium for web testing, then these scripts can be easily converted for Appium using a mobile web browser.
As an extension of Selenium that was built using its capable technology, it is easy to understand why the excitement around Appium continues to grow, with Selenium still maintaining its popularity as a trusted tool for web testing.
Curious about leveraging Appium for mobile app testing? Check out our short video to learn more about Mobile Labs’ private mobile device cloud, deviceConnect™, now featuring a built-in Appium server offering world-class Appium support and performance.