1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
# (C) Copyright 2004-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!
""" Custom exceptions for UITester and UIWrapper.
"""
class TesterError(Exception):
"""Custom exception for UITester/UIWrapper."""
pass
class Disabled(TesterError):
"""Raised when a simulation fails because the widget is disabled."""
pass
class InteractionNotSupported(TesterError):
"""Raised when an interaction is not supported by a wrapper.
Parameters
----------
target_class : subclass of type
The type of a UI target being operated on.
interaction_class : subclass of type
Any class for the interaction.
supported : list of types
List of supported interaction types.
"""
def __init__(self, target_class, interaction_class, supported):
self.target_class = target_class
self.interaction_class = interaction_class
self.supported = supported
def __str__(self):
return (
"No handler is found for target {!r} with interaction {!r}. "
"Supported these: {!r}".format(
self.target_class, self.interaction_class, self.supported
)
)
class LocationNotSupported(TesterError):
"""Raised when attempt to resolve a location on a UI fails
because the location type is not supported.
"""
def __init__(self, target_class, locator_class, supported):
self.target_class = target_class
self.locator_class = locator_class
self.supported = supported
def __str__(self):
return (
"Location {!r} is not supported for {!r}. "
"Supported these: {!r}".format(
self.locator_class, self.target_class, self.supported
)
)
|