All Projects → mitrejcevski → ui-testing

mitrejcevski / ui-testing

Licence: MIT license
No description or website provided.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to ui-testing

rules4android
A collection of JUnit 4 Rules for Android Developers 🔬
Stars: ✭ 23 (+53.33%)
Mutual labels:  android-tests, android-testing
Compose
Nice and simple DSL for Espresso Compose UI testing in Kotlin
Stars: ✭ 56 (+273.33%)
Mutual labels:  espresso, android-testing
FragmentTestRule
JUnit Rule to test a Fragment in isolation
Stars: ✭ 102 (+580%)
Mutual labels:  espresso, android-testing
Kakao
Nice and simple DSL for Espresso in Kotlin
Stars: ✭ 1,109 (+7293.33%)
Mutual labels:  espresso, android-ui
TeamCityApp
TeamCity in your pocket (Android application)
Stars: ✭ 48 (+220%)
Mutual labels:  espresso, espresso-tests
Kotlin-MVP-Testing
Examples of testing different layers of an Android app with MVP architecture.
Stars: ✭ 24 (+60%)
Mutual labels:  espresso, android-testing
ReactButton
Android Library to make it easy to add ReactButton feature in your app with Multi Reactions like Facebook or Linkedin, you can add many reactions as you want, you can also split them into a number of columns, and also customize the colours and text for each reaction
Stars: ✭ 100 (+566.67%)
Mutual labels:  android-ui
momentz
Momentz is an android library for showing timed view just like WhatsApp, Facebook and Instagram stories.
Stars: ✭ 107 (+613.33%)
Mutual labels:  android-ui
QuadTreeAndroid
Library that helps to implement the QuadTree in android, by using splitting images
Stars: ✭ 30 (+100%)
Mutual labels:  android-ui
android-gallery
Shared element transition example with RecyclerView and ViewPager.
Stars: ✭ 38 (+153.33%)
Mutual labels:  android-ui
FancyBottomSheetDialog
This is android library implementing bottom sheet like fancy dialog
Stars: ✭ 21 (+40%)
Mutual labels:  android-ui
ZoomLayout
想要缩放、平移的 View,放在 ZoomLayout 中就可以实现了
Stars: ✭ 34 (+126.67%)
Mutual labels:  android-ui
Material-Backdrop-Android
Material Backdrop
Stars: ✭ 106 (+606.67%)
Mutual labels:  android-ui
GitReposCompose
GitReposCompose is an Android application 📱 for showcasing Jetpack Compose for building declarative UI in Android. This demo app uses Github public API for fetching public repositories.
Stars: ✭ 32 (+113.33%)
Mutual labels:  android-ui
Biometric-Authentication-Android
A sample implementation of AndroidX biometrics API using Kotlin. Authenticate using biometrics or PIN/Password if biometrics isn't available on device. Fully implemented in Jetpack compose using Material 3 dynamic theming and also has a separate implementation in xml with MDC 3.
Stars: ✭ 29 (+93.33%)
Mutual labels:  android-ui
android-testify
Add screenshots to your Android tests
Stars: ✭ 223 (+1386.67%)
Mutual labels:  android-testing
Einsen
🎯 Einsen is a prioritization app that uses Eisenhower matrix technique as workflow to prioritize a list of tasks & built to Demonstrate use of Jetpack Compose with Modern Android Architecture Components & MVVM Architecture.
Stars: ✭ 821 (+5373.33%)
Mutual labels:  android-ui
Android-MVVM-News-App
MVVM News Application with clean code architecture & android jetpack components.
Stars: ✭ 38 (+153.33%)
Mutual labels:  espresso-tests
LicenseTextView
Custom Lincese TextView for android
Stars: ✭ 31 (+106.67%)
Mutual labels:  android-ui
MaterialDesign-Toast
Custom android Toast with Material Design
Stars: ✭ 70 (+366.67%)
Mutual labels:  android-ui

Login Demo

Highlight

The purpose of the project is to demonstrate the approach of testing the UI in Android app, by using espresso. The project has a very simple login screen, and based on the input it has to show an error, or open the main application screen.

Details

The key point of this project is to demonstrate the approach for getting a rock-solid UI tests that would run on any environment, without any external dependencies. Traditionally, there were different approaches for mocking a rest service that would run on the same machine with the emulator, so the app would make the real calls. In this example, the test doubles are created and kept in the source code, so the app would not need any external dependencies for running the UI tests. Furthermore, the replies are very fast so there is no need for any idling resources. The idea is to focus on the UI, because the initial intention is to test the UI, not the actual calls.
At the beginning, it's very important to note that the project has 2 flavors: mock and prod. The reason behind is to separate the data source. The production data source implementation would make the real work (calls to sever, etc), while the mock implementation would return mocked replies (aka test-doubles) based on the input. This could have been done in many different ways (using dagger for instance), but the intention here is to achieve the goal with as little dependencies as possible, so it will be very simple to be understood.

The project consists of 2 branches:

master

A very naive implementation of the login. The reason behind is to make the example as simple as possible so the intention of the approach will be very clear and precise. Once again, the key point is to make the UI tests simple and solid.

full

This branch has the implementation very similar to the one in master. The difference is that it also uses the architecture components (ViewModel and LiveData in particular), so the whole picture would be nicer, and a little bit more real.

Having Different/Better Ideas

If you know a better or nicer or simpler way for doing this, feel free to open a PR, or at least an issue so we could discuss, share knowledge and learn.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].