Spoon

  • Running Espresso Tests in Parallel (that are visible via adb devices)
  • по результатам тестирования создается файл html
  • делает скрины, группирует их по устрйостам, и копирует в папку

Источники

  • https://square.github.io/spoon/
  • https://github.com/square/spoon
  • https://github.com/jaredsburrows/gradle-spoon-plugin

Статьи

https://labs.eleks.com/2014/05/creating-test-reports-for-android-with-spoon-and-emma.html

https://medium.com/android-bits/running-espresso-tests-on-multiple-devices-with-spoon-842a5546e3d7

Подключение к проекту

создаем новую ветку git - spoon-testing

0) add plugin

plugins {
    id 'com.jaredsburrows.spoon'
}

1 ) add dependencies to module-level build.gradle file:

    androidTestImplementation "com.squareup.spoon:spoon-client:2.0.0-SNAPSHOT"

2) add dependencies for project level build.gradlefile

buildscript {
    repositories {
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
    dependencies {
        classpath "com.jaredsburrows:gradle-spoon-plugin:1.4.0"

    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
}

3) android manifest - add external storage permissions to take screenshot

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

4) sync grale files

5) run ‘ spoonDebugAndroidTest ‘

drawing

6) папка где лежат сгенерированые файлы (смотрим в логах - очень хорошо написаны)

app-name\app\build\spoon-output

7) чтобы делать скрины toast and dialog использовать библиотеку

https://github.com/jraska/Falcon

Gradle

androidTestImplementation 'com.jraska:falcon:2.1.1'
androidTestImplementation 'com.jraska:falcon-spoon-compat:2.1.1'

####

Примеры

https://github.com/faruktoptas/espresso-robot-pattern-sampleplaid

https://github.com/alexilyenko/SimpleAndroidCalculator

Где использовала

  • Read trainer - куча ебли, с приятным результатом

=====

Похожие библиотеки

https://docs.fastlane.tools/actions/screengrab/

для создания скриншотов в разных locale, на разных устройствах