Giter Site home page Giter Site logo

tarcv / testingteam-operator Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 35.87 MB

Fork of Fork aiming at better JUnit compatibility and making development of UI tests less complex

License: Apache License 2.0

Java 41.10% Groovy 1.65% Kotlin 54.75% CSS 0.05% HTML 1.36% Shell 0.42% Less 0.68%
android espresso gradle-plugin android-test android-testing android-testing-espresso

testingteam-operator's Introduction

Tongs

A kitchen tongs for distributing your candies across all the tasters/testers. It saves your time by running test cases in parallel on multiple devices simultaneously.

Tongs is based on Fork. It distributes execution of test cases across multiple devices making test runs much faster. And it provides valuable reports for them.

Differences from similar tools

  • Full support for JUnit parameterized test cases - test case variants are distributed across devices
  • Custom instrumentation runner arguments are supported, including filters
  • Gradle support, including:
    • Support for split APKs
    • Install APKs with Gradle
  • Tongs clears application data before test case execution
  • Support for test frameworks other than JUnit 4 assuming their runners are compatible with AndroidJUnitRunner (see [Custom runners])

Running Tongs

Gradle plugin (recommended)

  1. Add JitPack repository (this service builds packages directly from GitHub sources) and classpath plugin dependencies
buildscript {
  repositories {
    // other repos ...
    maven { url 'https://jitpack.io' }
  }
  dependencies {
    classpath 'com.github.TarCV:tongs:tongs-gradle-plugin:master-SNAPSHOT'
  }
}
  1. Apply the plugin
apply plugin: 'com.github.tarcv.tongs'
  1. Check tasks added by the plugin
./gradlew tasks | grep tongs
  1. Run one of those tasks. For example:
./gradle tongs

Future plans

  • Full support for JUnit assumptions
  • Plugins
  • Device flakiness reports

More docs soon

For now check repository of the project Tongs is based on.

testingteam-operator's People

Contributors

andreizaitcev avatar asos-veskoiliev avatar badya avatar fpezzato avatar iordanis avatar jbaginski avatar kittsville avatar martynhaigh avatar rkochhar avatar silviul avatar tarcv avatar tmelz avatar traviswestbrook avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

engeniousio

testingteam-operator's Issues

Support JUnit assumptions

  • Failed assumption should cause retry on a different device in the same pool
  • Assumption failure should be reported as a skipped test for a particular device
  • Test that has its assumptions failed on all devices in a pool should be reported as skipped

Prepare device before running tests

  • Disable animations before tests
  • Enable Keep awake with minimal brightness (if possible)
    Ideally the only thing you would have to prepare manually is disabling automatic lock
  • Uninstall tested application before tests

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.