Mobly Versions Save

E2E test framework for tests with complex environment requirements.

1.12.3

2 months ago

Bumping min Python version requirement to 3.11. Modernized the repo's packaging mechanism. Removed legacy code and dependencies.

New

  • Support am instrument options in snippet client.
  • Support adb reverse in AdbProxy.
  • Improved mechanism for tracking repeat and retry records in test report.

Breaking Changes

  • [Deprecation] get_available_host_port is now deprecated and will be removed in the next major release. Please rely on the OS to allocate ports.

Fixes

  • Eliminated redundant fastboot calls.

Full Changelog: https://github.com/google/mobly/compare/1.12.2...1.12.3

1.12.2

1 year ago

Bug fixes and improvements to better support users who construct their own suite based on test_runner APIs and suite_runner.

Fixes

  • Make print test case name feature usable.
  • Ensure default log path exists.
  • Missing info in test records are now populated.
  • Enable Android devices in bootloader mode to be picked up in registration.

1.12.1

1 year ago

New

  • A logger adapter that makes it easier for modules to add their own log line prefixes

Fixes

  • is_emulator property now works for Cuttlefish image
  • Handle SIGTERM properly
  • Fixed missing result fields and output directories

1.12

1 year ago

This release introduces the new generic Mobly snippet base client and the new Android snippet client built on top. The new snippet base enables us to better scale Mobly snippets across various platforms.

The old Android snippet client is now considered deprecated, and will be removed in the following release. Please update your code accordingly:

  • snippet_client -> snippet_client_v2
  • snippet_event -> mobly.snippet.callback_event
  • callback_handler -> callback_handler_v2

The generate_setup_tests stage is renamed to pre_run to better reflect its true role: steps that happen before all the test case methods are finalized. This is a pure rename with no functional changes. Please migrate your code as the generate_setup_tests stage will stop working completely in the next release.

New

  • Added the new Mobly snippet base client.
  • Added the new Android snippet client v2 based on the new base client.
  • Support changing Mobly's logger level to DEBUG via cli arg.
  • Termination signal type is now included in result records.

Breaking Changes

  • The old Android snippet client is deprecated.
  • The generate_setup_tests stage is now pre_run.

Fixes

  • Various issues in the Android snippet client.

1.11.1

2 years ago

New

  • Native support for repeat and retry of test cases.
  • Additional assertion APIs.
  • android_device now picks up fastboot devices if given *.

Fixes

  • Removed the usage of psutil in favor of native Py3 features.

1.11

2 years ago

This release focuses on code quality improvement, refactoring, and legacy code removal.

Py2-specific workarounds and deprecated APIs are removed in this release. We are also refactoring to use 2-space indentation and unit test system.

New

  • Framework support for test case level repeat and retry.

Breaking Changes

  • Removal of Py2 support
  • Removal of the monsoon controller

Fixes

  • Various improvements in Android device controller
  • More metadata collected for test runs

1.10.1

3 years ago

Mobly Release 1.10.1: Incremental fixes

This release contains minor fixes and improvements.

New

  • API for taking screenshots in AndroidDevice
  • Option to change the logging verbosity of the Mobly snippet client. The default logging size is now capped.

Fixes

  • Resource leakage in _print_test_name.
  • IDE compatibility.
  • Bugs in unit tests.

Full list of changes

1.10

4 years ago

This is likely the last major release that preserves Py2 compatibility.

New

  • AndroidDevice now has a new is_emulator property.
  • Better multi-user support in AndroidDevice.
  • Standardized logging and output file names.
  • Improvement in utils.concurrent_exec.
  • Support class-based decorator on Mobly test methods.

Breaking Changes

Due to the standardization of output files for both Mobly and AndroidDevice controller, if you have custom parser of Mobly outputs, you need to adjust your parsing logic to accommodate the changes.

  • Major change in output directory structure #650
  • Names of AndroidDevice's output files have been standardized #633
  • Changed multiple references of test_bed to testbed in code #641

Fixes

  • AndroidDevice's service manager behavior for reboot and USB disconnect.

Full list of changes

1.9

4 years ago

New

  • Support specifying Unique Identifier (UID) for both static and generated test methods.

Breaking Changes

  • Detached logger lifecycle from TestRunner#run. Suite users have to explicitly use the new logger context around TestRunner#run.
  • Removed the behavior of BaseTestClass as a context as it has been a no-op for several releases.
  • [Deprecation] Removed BaseTestClass#clean_up which was deprecated in 1.8.1.
  • [Deprecation] Code path for passing args directly into a test method, which was never used.
  • [Deprecation] Service-related APIs deprecated in 1.8 are now removed, including AndroidDevice#load_sl4a.

Fixes

  • Bug fixes and reliability improvements in AdbProxy.
  • Improved APIs for taking bugreports
  • Improvements in AndroidDevice service management
  • Improvements in AndroidDevice's getprop calls, including caching.

Full list of changes

1.8.1

5 years ago

Fixes

  • Errors from the final clean up stage are now properly recorded.
    • NOTE: This may expose errors that have long existed in your tests. They are usually caused by your test interrupting controller object life cycle management. Fixing these issues would help keep your test env clean.
  • Fixed docs config so http://mobly.readthedocs.io show all the classes properly.