Docker-Android + Genymotion Cloud
Executing your Appium tests on real devices gives you more confidence in the quality of your application but on the other side it is costly when scaling. That’s why more and more people are adopting a hybrid strategy: testing on real devices and simulators/emulators depending on what needs to be tested. For example, using simulators/emulators for pull requests or small changes are simple cases where you can run your tests on those kind of devices. I developed Docker-Android to help user focus on writing the UI tests by leveraging the advantages of using a Docker such as having a ready to test infrastructure that will run on the same environment without having any knowledge on how to use tools on deploying the tests. For more scalability and having different device profiles in Android testing, I made evolution on the project to integrate with Genymotion Cloud. By simply defining devices in a JSON file, the user will be able to start Genymotion emulator(s) automatically on different cloud services, such as on SaaS, AWS, GCP and Alibaba and run Appium tests on them.
Outline/Structure of the Demonstration
- Why test on simulators / emulators
- Small introduction about Docker-Android
- Why Docker-Android supports Genymotion Cloud
- Live Demo (your own real device + Docker-Android, free Android emulators with Docker-Android, cloud Genymotion emulators on different cloud services like SaaS, AWS with Docker-Android)
- Creating the whole test infrastructure in different ways in few seconds
(junior/intermediate/senior) test engineer, DevOps and Test manager
Prerequisites for Attendees
Base knowledge about Docker
schedule Submitted 2 years ago
People who liked this proposal, also liked:
Budi Utomo - Monitor your Appium tests in real timeBudi UtomoSoftware Engineer in TestBOSCH
schedule 2 years agoSold Out!
In real life, you might have a big Appium test suites which you can split into small parts and execute those in parallel on different machines / VMs / operating systems to get faster result, but it is still painful to have the test results at the end of test execution. One example of the most common reasons is a test might fail in the middle of the test-execution because of many reasons, especially if you have a complex system like IoT. The failed test might not give you the result file (e.g. xml file) because it stops in the middle and you need to see each of the the logs to figure out which test(s) is/are passed and which test(s) is/are failed. On the other hand, your team leader and developer team just care to see the test result which should be summarized and displayed on one single screen (they might not want to do extra miles to get those results, e.g. Logs, Jenkins builds, Jira, etc). In such a case, Setting up monitoring tool is in rescue, thus you do not need to worry about failing test because you will have real time test result.