/UITesting

This is a sample app to use espresso and others platforms to testing UI. The app show how to do Integration test with Espresso. The main screens was written in Kotlin, and the tests was written in Java and Kotlin to see the diferences

Primary LanguageKotlinApache License 2.0Apache-2.0

UITesting

Kotlin version badge Build Status CircleCI GitHub license

This sample app is based on Espresso and others UI testing frameworks. The app shows how to do Integration test with Espresso, in Java, in Kotlin, and other testing Kotlin libs.

Main activities were code in Kotlin. As tests are code in Java, and in Kotlin, we can easily see differences between both languages.

Introduction

In this sample we have different "feature branches", showing, how we'd set up and "config" espresso test framework, as well as how to record and run instrumentation tests.

Aditionaly, we will compare this test with another testing frameworks. For example, Kakao testing library, created by Agoda, in Kotlin, that brings a lot of benefits, as readability, reusability and is extensibleDSL.

Getting started

This repository contains an Android application to do login or signin in a sample app.

This Application is based on four Activities:

  • LoginActivity showing a form with two editext to complete with data.

login_screen

  • SignUpActivity showing a form with several fields to complete with data.

signin_screen

  • MessageActivity showing a success message.

success_screen

  • ErrorActivity showing a error message.

Presentations

Video

Branches

In this branches, we show how setting up espresso dependencies, record with espresso recorder, create test in kotlin and show diferents with Kakao lib.

Libraries used in this project

Code style

Here you can download and install the java codestyle. https://github.com/JSBerrocoso/java-code-styles

Documentation

There are some links which can be useful:

License

Copyright 2017 JSBerrocoso

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.