mobly

E2E test framework for tests with complex environment requirements.

APACHE-2.0 License

Downloads
325.7K
Stars
639
Committers
59

Bot releases are visible (Hide)

mobly - Mobly Release 1.12.4: Improvements

Published by xpconanfan about 2 months ago

Maintenance release with small improvements and fixes.

New

  • Introduced apk_utils module for Android apk install/uninstall.

Fixes

  • Bugs in snippet client.
  • Noise in console output on Mac.

Full list of changes

mobly - Mobly Release 1.12.3: Proper Repeat and Retry Reporting Latest Release

Published by xpconanfan 8 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

mobly - Mobly Release 1.12.2: Improve Support for Custom Suites

Published by xpconanfan over 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.
mobly - Mobly Release 1.12.1: Minor Improvements and Fixes

Published by xpconanfan almost 2 years 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
mobly - Mobly Release 1.12: New Snippet Base Client and a New `pre_run` Stage

Published by xpconanfan about 2 years 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.
mobly - Mobly Release 1.11.1: Support Test Case repeat and retry.

Published by xpconanfan over 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.
mobly - Mobly Release 1.11: Py2 Deprecation and Repeat/Retry Support

Published by xpconanfan about 3 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
mobly - Mobly Release 1.10.1: Incremental fixes

Published by xpconanfan almost 4 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

mobly - Mobly Release 1.10: Framework and `AndroidDevice` Output Improvements

Published by xpconanfan almost 5 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

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

mobly - Mobly Release 1.8.1: Fix Final Cleanup Stage Error Capture

Published by xpconanfan almost 6 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.
mobly - Mobly 1.8: Controller Management and `AndroidDevice` Service

Published by xpconanfan about 6 years ago

New

  • Modularized controller management logic by introducing ControllerManager.
  • Introduced the service mechanism in AndroidDevice for ease of handling life cycles of long-running processes for Android devices.
  • Convenience method for creating per-test adb logcat logcat.create_per_test_excerpt.
  • AdbError now has serial as a direct attribute.

Deprecated

The following APIs in AndroidDevice are deprecated:

  • start_services -> ad.services.start_all
  • stop_services -> ad.services.stop_all
  • start_adb_logcat -> ad.services.logcat_start
  • stop_adb_logcat -> ad.services.logcat_stop

Fixes

  • expects APIs crashing in certain execution stages.
  • setup_class's record is not recorded correctly in summary yaml.
  • Controller info recoding
  • adb logcat crashes

Full list of changes

mobly - Mobly Release 1.7.5: Dependency Cleanup

Published by winterfroststrom about 6 years ago

Fixes

  • Only install test dependencies when running the unit tests.
  • Allow CallbackHandler.waitForEvent to wait for longer than the max rpc
    timeout.

Full list of changes.

mobly - Mobly Release 1.7.4: Better debug logs

Published by xpconanfan about 6 years ago

Added framework DEBUG level log generated by Mobly:

  • Log test configuration at the beginning.
  • Log boundaries of each execution stage.
  • Log snippet client calls.

New

  • Support suffixing test class name in a suite.
  • API to unload a single snippet from AndroidDevice.

Fixes

  • Fixes in BaseTestClass.
  • Fixes for running on Windows.

Full list of changes.

mobly - Mobly Release 1.7.3: Windows support fixes

Published by xpconanfan over 6 years ago

New

  • self.current_test_info now exists for setup_class stage.
  • adb calls through AdbProxy can now propagate stderr.
  • Instrumentation runner now outputs timestamp for each test.

Fixes

  • Fix several bugs for running on Windows.

Full list of changes.

mobly - Mobly Release 1.7.2: Custom Info in Test Summary

Published by xpconanfan over 6 years ago

New

  • Support adding additional blocks in test summary file.
  • SnippetEvent is now loggable.

Fixes

  • Fix several bugs in error reporting.
  • Fix log persist crashing Mobly on certain devices.

Full list of changes.

mobly - Mobly Release 1.7.1: Bug Fixes

Published by xpconanfan over 6 years ago

New

  • Allow setting up logger before test class execution. Useful for suites.

Fixes

  • Fix recording of teardown_class failures in new output format.
  • Properly handle calling asserts.abort_all in on_fail.
  • Minor fixes for Windows support.

Full list of changes.

mobly - Mobly Release 1.7: Expectation APIs and Instrumentation Test Runner

Published by xpconanfan over 6 years ago

New

  • APIs for specifying expectation in test for delayed test termination.
    mobly.expects
  • A runner class for easily running regular Instrumentation tests with Mobly.
    Tutorial.
  • API to get runtime test info during the test.
  • Support specifying file location and timeout in take_bug_report.
  • Support changing device serial during test. Needed for remote devices.
  • Allow adding custom controller info for AndroidDevice.

Breaking Changes

  • Monsoon config format change:
    Old: 'Monsoon': [123, 456]
    New: 'Monsoon': [{'serial': 123}, {'serial': 456'}]

Deprecated

  • Old output files.

Full list of changes.

mobly - Mobly Release 1.6.1: New Output

Published by xpconanfan about 7 years ago

New

  • New output file scheme, with better clarity and streamable summary file.
  • Improved result reporting: more consistent, more debug info, no hiding errors.
  • adb commands now support timeout param. E.g. adb.wait_for_device(timeout=10)

Breaking Changes

  • Signature change of procedure functions like on_fail.
    • Old: on_fail(test_name, begin_time)
    • New: on_fail(record)

Deprecated

  • Old generated test code path
  • Support for old snippet protocol (v0)

CHANGELOG

mobly - Mobly Release 1.5

Published by xpconanfan over 7 years ago

https://github.com/google/mobly/blob/master/CHANGELOG.md#15-new-snippet-startup-protocol

We will use CHANGELOG.md for release notes and link to that file on this page from now on.
CHANGELOG.md has the most accurate release notes.