Skip to content

Releases: avito-tech/Emcee

21.5.0

16 Oct 13:55
Compare
Choose a tag to compare

What's Changed

Crossplatform

  • We reworked how our users deal with enterprise support. Now we distribute a single application that accepts license keys. You're encouraged to contact your manager to migrate on new licensing. Learn more.

iOS

Now you may setup simulator gracefully before running tests via

  • classified settings (that our old users may familiar with), learn more
  • running plain scripts on worker host, take a look on our playbook

Android

  • Added internal improvements, such as debug/info/critical logs rework, timeouts updates, etc
  • Added Kaspresso adb-server. Now you can enable this server inside worker via worker environment variable (read about env name here)
  • Added worker self-check scripts for better debugging. Read more
  • Added info in documentation about ability to customize worker emulators. You can replace default emulators by your own. Read more
  • Added docker image with preconfigured Artifactory instance. Now you can use this image to avoid first Artifactory setup because this instance contains ready for use user. Read more

21.4.0

27 Sep 11:59
Compare
Choose a tag to compare

What's Changed

iOS

  • Added Xcode 16 support

21.3.0

12 Sep 07:55
21.3.0
Compare
Choose a tag to compare

What's Changed

Android

  • Added annotation filter to cli-tool. Now you can filter tests by annotation names when you launch tests run via cli
  • Fixed dynamic emulator creation when SDK 27 was selected

21.2.1

09 Sep 10:46
21.2.1
0752ae6
Compare
Choose a tag to compare

What's Changed

Android

  • Hotfix. Fixed dynamic emulator screen params for cli-tool. Now it is possible to setup screen resolution and density for dynamic emulator via cli-tool

21.2.0

03 Sep 15:03
21.2.0
4fe18c5
Compare
Choose a tag to compare

What's Changed

Android

  • Added new feature - dynamic emulators. Now you can configure and reuse emulators with desired screen resolution and density. For example, now it is possible to use emulator with full hd resolution and 440 dpi density.
    Read more here
  • Fixed bug that occurred when test execution was interrupted by a timeout, resulting in the screen recording not being downloaded
  • Fixed bug with "device offline" message that sometimes happened while device booting
  • The process of archiving tests artifacts has been optimized
  • Improved documentation
  • Added Android SDK 33 to worker and removed 24

21.1.0

22 Jul 15:30
Compare
Choose a tag to compare

What's Changed

iOS

  • Xcode Test Plans are now supported in emceeplan. Learn more
  • we parse more errors from XCResult and enrich reports with them

Android

  • added new feature with ability to download artifacts from device custom directory on each run
  • added clients network calls retry on bad responses
  • made worker more stable and robust - now most unexpected errors converts to tests errors and not to workers crashes. It will give faster feedback loop for the users
  • updated internal dependencies, such as Kotlin, Coroutines, etc.

21.0.0

30 May 11:32
Compare
Choose a tag to compare

What's Changed

This release we focused on rethinking how users run tests on-premise on our main platforms. For some time, it's been implemented differently on iOS and Android. Most iOS users tended to use simplified approach conveying tests arguments in command line rather than using a file-based approach with distinct queue configuration and test-arg-file. It led to messy scripts in CI and extra complexity for new users. On the other hand, Android users employed a declarative approach using emceeplan file. We reworked emceeplan config to match needs of all our focus platforms, made it platform agnostic(almost) with simplified configuration ready to work from scratch.

Meet new major Emcee release:

  • emceeplan file format reworked to support both iOS and Android platforms similar way, a lot of test parameters are shared between platforms
  • documentation and guides are reworked to match these changes, find more
  • install Emcee using Homebrew, learn how

as well as changes in core Emcee technology:

Crossplatform

  • queue now uses Vapor web server that brings stability and performance
  • queue sends time consumption analytics for requests on all endpoint

iOS

  • to prevent system overwhelming every test exception reason is now limited to 10kb

Android

  • added new worker metrics. See Android worker metrics doc for more info
  • added new failed tests retry strategy retryOnWorker - now it is possible to retry failed test on the same worker
  • added ability to configure tests split strategy in emceeplan. Default strategy is timeWeighted
  • Android emulator updated to version 33.1.24
  • there is Mac OS demo mode. Now it is possible to run whole Emcee system for Android tests on the Mac (for demonstration only)
  • added JUnit report generation
  • updated Gradle version to 8.5 and Kotlin version to 1.9.20 in clients

20.2.0

01 Mar 06:26
Compare
Choose a tag to compare

What's Changed

Crossplatform

  • Meet test history service! It tracks test results and time consumption for individual tests and allows other services to use this information to optimally schedule new test run. See more in doc (iOS, Android)
  • There is a new timeWeighted test splitter that works hand in hand with test history service and provides the shortest possible time for entire test run. See more in doc (iOS, Android)

iOS

  • Minimal supported target is macOS 12.0
  • Get chrome tracing for the entire test run by using --trace option. See more in emceeFree runTests --help

Android

  • Added readable Artifactory uploading error description
  • Fixed possible crash in clients because of redundant internal checks
  • Fixed possible zero test time bug
  • Added check for desired sdk version before test run start
  • Added fix for endless CLI process after test run
  • Updated internal emulators version to 33.0.2. Other internal tools were also updated
  • Added timeout for emulator boot complete
  • Fixed wrong test result when test ended instantly

20.1.0

15 Jan 08:36
dba407d
Compare
Choose a tag to compare

What's Changed

iOS

  • By default buckets divide strategy is equally divided
  • By default tests restart strategy is retry on worker
  • By default queue is watching for workers and restart them if needed. See silentWorkerAutomaticRestartFeatureConfig
  • Simulator setup before tests run is optimized. Now it requires less time
  • Emcee now writes less logs by default. The log level can be configured by environment
  • Improved plugins errors handling in workers. Memory consumption for plugin support is reduced
  • Added Emcee metrics Grafana dashboard example

Android

  • Improved test run result info output for clients (Gradle plugin and CLI)
  • Added ability to set total tests execution timeout for clients (Gradle plugin and CLI)
  • Worker now starts on 41001 port (was 80)
  • Added Android metrics Grafana dashboard example
  • Documentation was improved
  • Android documentation now on the separate site
  • Added ability to configure Queue analytics and metrics for containerized Queue
  • Fixed bug with Allure report downloading on sdk level 29 and lower
  • Fixed test start time event

20.0.0

04 Dec 15:33
Compare
Choose a tag to compare

What's Changed

Common:

  • Added support for skipped tests on all platforms

iOS:

  • There is new tests discoverer - runtimeXCTest. Use it for discovering dynamically added tests with frameworks like Quick, Kiwi, etc
  • scheduleTests command dispatches tests to previously deployed queue. It's useful in systems where Emcee gets deployed with external platform operator
  • default file verbosity has been changed to debug (was trace before change)
  • better device management and improved cleaning routines that lead to reduced disk and memory consumption

Android:

  • Another option to run tests - command line utility. Give it a try!
  • Get video recorded during test run by using videoRecordStrategy
  • Documentation refined

Cloud:

Minor fixes:

  • retryOnWorker tests retry mode does not cause excessive retries on queue

Announcement

Since version 20.0.0 Emcee we will change a minor version for ongoing regular releases. Major versions will be increased with significant changes or broad refactoring.