UI Testing Library

Additional

Language
Kotlin
Version
0.3.0 (Sep 17, 2018)
Created
Feb 4, 2018
Updated
Oct 30, 2018
Owner
Avito Technology (avito-tech)
Contributors
bagza
Dima Merkurev (dimorinny)
Vitaliy Bendik (bendikv)
dsvoronin
Nikolay Nesterov (nesterov-n)
5
Activity
Badge
Generate
Download
Source code

Blurb

Avito Android UI testing library

Should I use it?

Not now. Work in progress.

Roadmap

  • full test coverage of current features
  • docs about all features
  • the issue

Configure

def uiTestingVersion = '0.2.2'

repositories {
    jcenter()
}

dependencies {
    androidTestImplementation 'com.avito.ui-testing:ui-testing-core:$uiTestingVersion'
    androidTestImplementation 'com.avito.ui-testing:ui-testing-maps:$uiTestingVersion'
}

UITestConfig

Use UITestConfig to tune library's parameters for your project. Custom instrumentation test runner is the best place for it.

Core features

Interceptors

Functions that are invoked before every action and assertion with all information about target and intention.

Use cases

  • Log human readable walk-through of your tests (greatly increases report clarity).

Setup

with(UITestConfig) {
    actionInterceptors += <your interceptor>
    assertionInterceptors += <your interceptor>
}

Examples

See test-app/androidTest

Contribution

Snapshot uploading

To upload snapshot version to your own artifactory server: ./gradlew artifactoryPublish --info.

Use --info to debug artifactoryPublish task, because it completes silently in case of error.

Required environment variables:

  • ARTIFACTORY_URL
  • ARTIFACTORY_USER
  • ARTIFACTORY_PASSWORD
  • ARTIFACTORY_REPO

Release

To upload to bintray (mirrored to jcenter): ./gradlew bintrayUpload --info.

Use --info to debug bintrayUpload task, because it completes silently in case of error.

Required environment variables:

  • BINTRAY_USER
  • BINTRAY_API_KEY
  • BINTRAY_GPG_PASSPHRASE