Wednesday, November 8, 2017
For mobile developers, testers and quality assurance professionals who are considering using Appium or who are just getting started, investing in a mobile device cloud with built-in Appium support is an option worth exploring.
A mobile device cloud not only helps enterprise mobility teams manage and share devices, but this centralized platform is also helpful for streamlining automated testing and continuous delivery intiatives. For teams interested in using Appium for automated testing, a mobile device cloud with a built-in Appium server will makegetting started with Appium easy and more efficient. Furthermore, a mobile device cloud with built-in Appium support will provide an extra cushion against any hiccups that may occur when using an open-source platform for testing.
Still not convinced? Here are six benefits of pairing Appium with a mobile device cloud.
At Mobile Labs, we are committed to the open source Appium project. We believe that Appium should not behave differently if your mobile testing team wants to take scripts to another vendor or if they want to use their own Appium server. Our goal is to make working with Appium easier. One way we are doing this is by bundling the Appium server into our internal private mobile device cloud, deviceConnect™. By building an Appium server into the deviceConnect platform, we are not changing the way Appium works from a scripting standpoint. We are also not providing enterprise mobility professionals with an Appium compatible server that uses a different server technology from Appium. By leveraging a real, built-in Appium server we are able to respond and to account for any new features as Appium continues to evolve.
Appium is an open source project that depends on the community of users to contribute updates. This means that there is no official support and that bug fixes will be patched when community developers pick them up and contribute the fix back to the project. Fortunately, Appium has corporate sponsors who are invested in its success and who dedicate resources. Therefore, bug fixes usually come quickly and we can be assured that the entire project will not be abandoned anytime soon.
For Mobile Labs customers, because we have included Appium as a part of deviceConnect, enterprise mobility teams have access to Mobile Labs’ world class customer support for any Appium issues. Mobile Labs provides 24/7 customer support and our in-house experts will work to fix any issues that may occur. In fact, our team will even contribute bug fixes back to the Appium open source project to help benefit mobile developers, testers and QA teams who may experience similar issues.
The Appium open source project requires enterprise mobility teams to have a Mac environment to run Appium tests on iOS devices. At its core, Appium ensures that apps do not have to be modified and therefore can use the native automation technologies provided by the OS vendor. For iOS, this means that testers must use Apple’s processes and tools that only run on a Mac. In addition, the Appium server for iOS devices should also be run on a Mac. Appium scripts for iOS can run from any environment if they point to a Mac Appium server. Many organizations do not support Mac environments, as the procurement and security restrictions on Apple hardware can cause issues when trying to run Appium tests on iOS. deviceConnect uses a Mac server, meaning that enterprise mobility teams will not have to make additional Apple purchases to work with Appium.
Enterprise mobility teams who are considering Appium or who are just getting started may have noticed that setting up an Appium environment requires a lot of steps. From iOS provisioning to server configurations, Mobile Labs has made getting started with Appium easy for teams with our built-in Appium server for deviceConnect.
We have also provided capabilities to select an appropriate device for testing, in case the device used to script a test is being used by another developer, tester or QA professional. This simply means that deviceConnect will retain a device that matches the app’s OS version criteria or preset OS version criteria without having to specify a particular device. deviceConnect also handles the iOS provisioning to make sure Appium will run on each iOS device.
Once enterprise mobility teams have figured out how to get one test running against one device on an Appium server, the next step is to figure out how to run additional tests against many devices on one or more operating systems.
Starting the Appium server for real devices can be a challenge because teams must make sure that all parameters and ports are configured properly. Appium is starting to make this easier by giving parameters for different ports in the startup capabilities.
But, this is not the only issue to be concerned with when executing parallel Appium tests. There are other dependencies that are needed to make sure that Appium is ready to run on various devices at the same time. Some of these dependencies include leveraging additional open source tools that must be running on the server and must be properly configured to run against the same device as the Appium server. When it comes to running devices in parallel, this can be daunting when making sure that startup scripts are working properly before running tests.
Finally, when it comes to running a script, it is necessary to change the port for each device for each run. The consequence of multiple ports is that testers will need to handle the differences in scripts each time the test is run against a different device. This can cause a bunch of unnecessary code maintenance. Appium has provided some welcome relief as testers can register Appium nodes and point tests to a Selenium grid. However, this is a separate area that enterprise mobility teams will need to maintain and configure.
With deviceConnect, Mobile Labs takes care of the Appium server because all scripts point to deviceConnect for execution. deviceConnect handles the Appium server startup automatically. This means that enterprise mobility teams just need to worry about writing and executing scripts. The startup scripts and server configuration are handled by Mobile Labs and deviceConnect, bringing necessary relief to a busy team of mobile developers, testers and QA teams to focus on more pressing issues.
Appium is popular because of the success of Selenium as a web automation tool. Many organizations have made huge investments in Selenium scripts for their websites. Now, it is easy to run these scripts against a variety of real devices to determine if the site loads and functions properly on a real device.
Simulators and emulators can be a good source for testing, but Apple and Google recommend testing against real devices. Keep in mind that the hardware does make a difference. If working with a responsive website, it is more important to test across a variety of devices with various OS versions and different screen sizes. Appium will run the Selenium scripts on native browsers (Safari and Chrome) on each device. Using deviceConnect allows teams to have the variety of devices needed for testing, while making it easy to run Selenium scripts against the built-in Appium server.
Want to learn more about deviceConnect and its Appium support? Check out our video demo to learn more.