# awesome-android-testing **Repository Path**: kuailel/awesome-android-testing ## Basic Information - **Project Name**: awesome-android-testing - **Description**: A curated list of awesome android testing libraries. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-04 - **Last Updated**: 2021-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # List of Android Testing Libraries A curated list of awesome android testing libraries. Of course it sometimes includes google's official one. ## Unit Test ### Framework - [JUnit](https://github.com/junit-team/junit) - [AndroidJUnitRunner](https://developer.android.com/tools/testing-support-library/index.html#AndroidJUnitRunner) - [Robolectric](https://github.com/robolectric/robolectric) - [RoboSpock](https://github.com/robospock/RoboSpock) - [Spek](https://github.com/JetBrains/spek) (Kotlin) ### Library - [Burst](https://github.com/square/burst) - [Kluent](https://github.com/MarkusAmshove/Kluent) - [Expekt](https://github.com/winterbe/expekt) ## Integration Test ### Framework - [Espresso](https://developer.android.com/tools/testing-support-library/index.html#Espresso) - [Robotium](https://github.com/RobotiumTech/robotium) ### Library - [rxpresso](https://github.com/novoda/rxpresso) - [Spoon](https://github.com/square/spoon) - [spoon-gradle-plugin (Gradle plugin 2.x)](https://github.com/stanfy/spoon-gradle-plugin) - [spoon-gradle-plugin (Gradle plugin 3.x)](https://github.com/jaredsburrows/gradle-spoon-plugin) - [test-butler](https://github.com/linkedin/test-butler) - [composer](https://github.com/gojuno/composer) - [Barista](https://github.com/SchibstedSpain/Barista) ## E2E Test ### Framework - [UI Automator](https://developer.android.com/tools/testing-support-library/index.html#UIAutomator) - [Calabash-android](https://github.com/calabash/calabash-android) - [Cucumber](https://github.com/cucumber/cucumber) - [Appium](https://github.com/appium/appium) - [Appium Clients](https://github.com/appium/appium/blob/master/docs/en/about-appium/appium-clients.md) - [Selendroid](https://github.com/selendroid/selendroid) - [eggPlant](http://www.testplant.com/eggplant/testing-tools/eggplant-mobile-eggon/) - [Magneto](https://github.com/EverythingMe/magneto) - [Airtest](https://github.com/AirtestProject/Airtest) - [Poco](https://github.com/AirtestProject/Poco) ### Helper - [DroidTestHelper](https://github.com/KazuCocoa/DroidTestHelper) ## Recorder - [appium-desktop](https://github.com/appium/appium-desktop) - [Espresso Test Recorder](https://developer.android.com/studio/test/espresso-test-recorder) ## Assertion - [AssertJ](http://joel-costigliola.github.io/assertj/) - [android-power-assert-plugin](https://github.com/gfx/android-power-assert-plugin) - [truth](https://github.com/google/truth) ## Mock - [mockito](https://github.com/mockito/mockito) - [mockito](https://github.com/nhaarman/mockito-kotlin) (Kotlin) - [powermock](https://github.com/jayway/powermock) - [easymock](https://github.com/easymock/easymock) - [mockk](https://github.com/mockk/mockk) ### Mock Server - [okhttp/mockwebserver](https://github.com/square/okhttp/tree/master/mockwebserver) - [WireMock](http://wiremock.org/) - [MockServer](http://www.mock-server.com/) ## Monkey Test - [monkey](https://developer.android.com/tools/help/monkey.html) - [Cloud Test Lab](https://developers.google.com/cloud-test-lab/) - [AWS Device Farm](https://aws.amazon.com/jp/device-farm/) ## TaaS TaaS stands for Test as a Service. Usually, TaaS provides us test platform like running test cases and its report. Some services are interesting since they don't provide only **running tests on their device farm** - [AWS Device Farm](https://aws.amazon.com/jp/device-farm/) - [SauceLabs](https://saucelabs.com/) - [Testdroid](http://testdroid.com/) - [Scirocco Cloud](http://www.scirocco-cloud.com/ja/price.html) - [Remote TestKit](https://appkitbox.com/) - [App Center](https://appcenter.ms) - [Kobiton](https://kobiton.com) - [Mobilebox](http://mobileboxlab.com/en/) - [HeadSpin](https://www.headspin.io) - [test.ai](http://test.ai) - [Magic Pod](https://magic-pod.com/en/) - [Firebase Test Lab](https://firebase.google.com/docs/test-lab/) ## IDE - [Katalon](https://www.katalon.com) - [Appium Studio](https://experitest.com/appium-studio/) ## Others - [calculon](https://github.com/mttkay/calculon) - [compile-testing](https://github.com/google/compile-testing) - [screenshot-tests-for-android](https://github.com/facebook/screenshot-tests-for-android) - [Mobile-Security-Framework-MobSF](https://github.com/ajinabraham/Mobile-Security-Framework-MobSF) - [OpenSTF](https://github.com/openstf) (2.x support API to control devices remotely.) - [Appium Java REPL](https://mobileboxlab.github.io/appium-java-repl/index.html) ## Documents - [Testing](http://developer.android.com/tools/testing/index.html) - [Best Practices for Testing](https://developer.android.com/training/testing.html) - [Android Testing Tools](https://developer.android.com/tools/testing/testing-tools.html) - [Testing Display Performance](https://developer.android.com/preview/testing/performance.html) ## Sample - [android-testing](https://github.com/googlesamples/android-testing) - [android-testing-templates](https://github.com/googlesamples/android-testing-templates)