Releases: avito-tech/Emcee
21.5.0
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
21.3.0
21.2.1
21.2.0
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
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
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
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 inemceeFree 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
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
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:
- Integrate Emcee test runner to your GitHub pipeline with Emcee.cloud github action
- Now Emcee offers alpha support for Appium cloud web server platform! Try it out - https://docs.emcee.cloud/cloud/appium/
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.