2023-04-27
gradle-plugin 0.10.2
- Bumped transitive org.json dependency to latest (
20230227
)
gradle-plugin 0.10.1
- Fixed
java.lang.NoClassDefFoundError: org/json/JSONObject
on newer AGP versions
20230227
)java.lang.NoClassDefFoundError: org/json/JSONObject
on newer AGP versionsew-cli
to 0.9.8recordVideo
option to false
in the emulatorwtf {}
project extension.ew-cli
in the Gradle plugin to 0.9.7
emulator-wtf/run-tests
v0.9.0recordVideo
option to false
in the emulatorwtf {}
project extension.ew-cli
in the GitHub action to 0.9.7
library-test
to run library module tests (no app apk)outputs
to filter what gets downloaded after the test, Defaults to merged_results_xml,coverage,pulled_dirs
.record-video
to record a video of the test runtimeout
to increase or decrease the default 15m
test timeout. Minimum 60s
, maximum 3h
.num-balanced-shards
to use sharding based on historical test runtimes.side-effects
- your one stop shop to disable error retries and test result cachingnum-flaky-test-attemtps
to add repeats to failed shards/jobsfile-cache
to disable the APK & test data cache (on by default)file-cache-ttl
to fine-tune how long we keep APK files in the cache (1h
by default)test-cache
to disable the test result cache78.46.71.232
to our outbound IPsNexusLowRes
and Tablet10
devicesmodel=Pixel7
devices - an emulator resembling the Pixel 7 phone with it’s 1080x2400 resolution, full list of emulators added:device=Pixel7,version=23
device=Pixel7,version=24
device=Pixel7,version=27
device=Pixel7,version=29
device=Pixel7,version=30
device=Pixel7,version=31
device=Pixel7,version=33
device=Pixel7Atd,version=30
device=Pixel7Atd,version=31
ew-cli
--test-targets-for-shard
parameter where only the first
target was picked from multiple ;
-separated targetsew-cli 0.9.5
where pulling device dirs failed with a crash when downloading the
test resultsAdded ignoreFailures
option to the emulatorwtf {}
project extension, which will cause the task to not fail the build if
the test run fails. This is useful for CI builds where you want to run tests on multiple subprojects and don’t
want to fail the build if one subproject fails.
NOTE: you can discover whether the build was successfuly either by checking the JUnit XML files or configure the plugin to output a JSON summary of the test result.
ew-cli
in the Gradle plugin to 0.9.6
ew-cli --prepare
option not working with some API token formats--prepare
option always returning a non-zero exit codetestWithEmulatorWtf
anchor task depending on all of the possible test tasksvariantFilter {}
option to the plugin to selectively disable emulator.wtf for certain variants,
example usage:emulatorwtf {
// Do not generate the test task for some specific variants
variantFilter {
if (variant.buildType.name == 'release') {
enabled = false
}
}
}
--num-balanced-shards [value]
for fair, historical runtime based sharding:
emulator.wtf will store historical test runtime at a single test level and will assign
tests to shards in the most even way possible, leading to shorter overall test times
than --num-shards
or --num-uniform-shards
.ew-cli
to 0.9.1numBalancedShards
property for fair, historical runtime based sharding, see the
ew-cli
release notes abovebreaking! ew-cli
now outputs a merged JUnit result XML file that combines all of the devices and shards into a single file.
Separate JUnit result XML files, device logcat files or captured videos are no longer downloaded by default - this
helps to cut down on ew-cli
runtime, especially for larger test suites with many shards. Logcat and video will
still be captured and viewable in the web UI.
If you need to download these (to store in your CI artifacts for example) you can revert to the old behaviour by adding
--outputs results_xml,coverage,pulled_dirs,logcat,captured_video
.
ew-cli
version to 0.9.0outputTypes
option to the extension DSL--num-flaky-test-attempts
and there were flakes discoveredew-cli
now has exit codes indicating various failure modes--num-flaky-test-attempts
option to ew-cli
to re-attempt running failed devices
and/or shardsew-cli
now cache their results properly.device=Pixel2,version=33
device=Tablet10,version=33
device=NexusLowRes,version=33
device=Monitor,version=33
--no-test-cache
or --side-effects
to disable this behaviour.23.88.5.162
to our outbound IPsgradle-plugin 0.0.12
com.android.test
) subprojects.
When using these make sure the targetProjectPath
is configured in the android {}
block.ew-cli 0.0.48
ew-cli
now supports capturing a video recording of the test -
pass both --record-video
and --outputs-dir
, a recording.mp4
file will
be saved per device-job combinationAll network traffic from emulators now originates from these IP addresses:
See the documentation for further details and machine-readable endpoints for getting these.