Automation for mobile apps
Mobile applications utilize a combination of browser interfaces and native and hybrid apps in an increasingly complex network environment with sophisticated 3rd party APIs and client libraries. As the test matrix proliferates, effective testing has never been more important. Finding a standardized, widely accepted mobile test technology and automation framework platform is critical to efficient testing.
XBOSoft has been a leader in mobile app testing since the iPhone was released in 2007 and Appium is one of our primary tools for mobile automation. To find out how we can help automate your mobile testing with the best combination of emulators, real mobile devices from our test labs, and time-tested mobile automation framework, contact us today!
What is Appium and why we use it
Appium is an open-source test framework that provides automation across all mobile applications: native, web, and hybrid. It is cross-platform, allowing for code reuse between iOS and Android test suites with the same API.
- By using vendor-provided automation frameworks (XCUITest for iOS, UiAutomator2 for Android, WinAppDriver for Windows), there is no Appium-specific or third-party code to be compiled into your app. This means you’re testing the same app you’re shipping.
- Appium wraps these frameworks in the WebDriver API (also known as “Selenium WebDriver”) utilizing the W3C WebDriver Protocol, which specifies a client-server architecture. This allows testers to use a variety of programming languages while maintaining consistency across mobile and web automation.
- As a popular automation solution, developers and testers benefit from strong community support that continuously refines the tool, participants in lively discourse, and addresses issues as they arise.
- Appium iOS testing satisfies the requirements that test engineers demand from a mobile test platform:
- Integrates commonly used programming APIs
- Can run apps through the Appium server without modifying the app
- No source code is required (unlike Robotium)
- CI/CD compatible with Jenkins and other tools
- Operates on Selenium Grid
- Works with real devices, simulators, or cloud services
- Does not require an APK
Considerations
Appium helps increase coverage and relieve your manual testing headaches. It’s a powerful tool, but as with most open-source platforms, it’s not so easy to get past the basics of “Hello World” before you encounter problems. These are the most common issues:
- Problem 1: iOS testing not supported on Windows
- Problem 2: Xcode 8 no longer supports UI automation
- Problem 3: Complicated management of devices and tests
- Problem 4: Unable to run simultaneous iOS simulators
If you want to learn more about these problems and their solutions, check out our Appium Mobile Test Automation white paper to see how we approached solving them.
How we use Appium
XBOSoft has tried many different tools and technologies over the years and accumulated deep expertise using it as an all-purpose solution for many tasks, including compatibility testing against web applications.
- Develop automation test scripts from test cases then complement with Appium principles in the code
- Reuse existing Selenium test scripts by adding capabilities to make it run across devices and browsers, without refactoring
- Execute local automation scripts against real devices or simulators in parallel using multiple frameworks
- Execute automation scripts remotely with 3rd party cloud services such as Browserstack, SourceLab, or AWS Device Farm
- Implement continuous integration of development and testing
- Test designs, layouts, and responsiveness by generating screenshots on 1000+ mobile and desktop browser combinations on a wide-range of screen sizes and resolutions, instantly, with a single click
Native app testing
- Develop automated test cases against iOS or Android native Apps
- Execute local automation scripts against real devices or simulators in parallel, configured by TestNG or Selenium Grid technology
- Execute remote automation scripts with 3rd party cloud services, such as AWS Device Farm, that provide a real device cloud
- Implement continuous integration to make the process seamless between development and testing
Local and remote testing with third part services
- Utilize existing Selenium WebDriver test scripts that execute on browsers in PC or Mac and add Appium capabilities for mobile
- Execute the scripts in parallel and in schedule mode
- Maintain all client libraries, scripts, mobile devices, simulators, and test environments
- Apply the same environment to test native apps locally
- Upload the script and app for remote execution on the server, eliminating the need to install Appium, or own or maintain devices or environments
Whil (RethinkCare) case study
Over 250 companies use Whil’s digital training services. Supported by over 250 programs and more than 1500 audio/video sessions, Whil’s product is built on both web and mobile platforms in Agile development cycles of two-week sprints. They needed to augment their QA team to incorporate automation and meet their QA process and goals. Check out the Whil case study to learn how we utilized Appium to dramatically extend their mobile test coverage.
Why choose XBOSoft?
- Get a scaleable test automation framework that will last and grow with you
- Optimize and minimize your maintenance efforts
- Enjoy the wealth of benefits gained by using open source software, correctly
- Quick, effective implementations from years of experience solving complex Appium issues
- Adaptions learned through a variety of customer requirements and integrations with Selenium
- Rapidly increase your test automation coverage and associated mobile devices
- Standardized plan outline and process that will cover all of your test needs, from start to finish
- Comprehensive mobile test plan template ensures successful execution on your project
- We address installation, interruption, network performance, UI, APIs, and much more