22 from autopilot
import logging
as autopilot_logging
23 from autopilot
import input
29 logger = logging.getLogger(__name__)
33 """An emulator class that makes it easy to interact with the shell"""
35 def get_greeter(self):
36 return self.select_single(Greeter)
38 def get_greeter_content_loader(self):
39 return self.wait_select_single(
41 objectName=
"greeterContentLoader"
44 def get_login_loader(self):
45 return self.select_single(
"QQuickLoader", objectName=
"loginLoader")
47 def get_login_list(self):
48 return self.select_single(
"LoginList")
50 def get_bottombar(self):
51 return self.select_single(
"Bottombar")
53 def get_pinPadLoader(self):
54 return self.select_single(
56 objectName=
"pinPadLoader"
59 def get_lockscreen(self):
60 return self.select_single(
"Lockscreen")
62 def get_pinentryField(self):
63 return self.select_single(objectName=
"pinentryField")
65 def _get_indicator_panel_item(self, indicator_name):
66 return self.select_single(
68 objectName=indicator_name+
'-panelItem'
71 def _get_indicator_page(self, indicator_name):
72 return self.select_single(
74 objectName=indicator_name+
'-page'
77 @autopilot_logging.log_action(logger.info)
79 """Swipe to open the indicator, wait until it's open.
81 :returns: The indicator page.
84 start_x, start_y = input.get_center_point(widget)
87 self.pointing_device.drag(start_x, start_y, end_x, end_y)
88 self.wait_select_single(
'IndicatorsMenu', fullyOpened=
True)
91 @autopilot_logging.log_action(logger.info)
93 """Swipe to close the opened indicator, wait until it's closed."""
94 indicators_menu = self.wait_select_single(
'IndicatorsMenu')
95 end_x, end_y = input.get_center_point(indicators_menu)
98 self.pointing_device.drag(start_x, start_y, end_x, end_y)
99 indicators_menu.fullyClosed.wait_for(
True)
101 @autopilot_logging.log_action(logger.info)
103 """Show the dash swiping from the left."""
104 x, y, width, height = self.
_get_shell().globalRect
107 start_y = end_y = y + height // 2
109 self.pointing_device.drag(start_x, start_y, end_x, end_y)
112 def _get_shell(self):
113 return self.select_single(
'Shell')
116 """Return the id of the focused application."""
119 @autopilot_logging.log_action(logger.info)
121 """Open the dash clicking the dash icon on the launcher."""
123 launcher.click_dash_icon()
125 launcher.shown.wait_for(
False)
127 @autopilot_logging.log_action(logger.info)
128 def open_launcher(self):
133 def _get_launcher(self):
134 return self.select_single(Launcher)
136 def is_launcher_open(self):
139 @autopilot_logging.log_action(logger.info)
141 """Launch an application.
143 :parameter application_name: The name of the application to launch.
147 launcher.click_application_launcher_icon(application_name)
149 launcher.shown.wait_for(
False)
152 """Enter code 'code' into the single-pin lightdm pincode entry screen.
154 :param code: must be a string of numeric characters.
155 :raises: TypeError if code is not a string.
156 :raises: ValueError if code contains non-numeric characters.
159 if not isinstance(code, str):
161 "'code' parameter must be a string, not %r."
165 if not num.isdigit():
167 "'code' parameter contains non-numeric characters."
169 self.pointing_device.click_object(
172 def _get_pinpad_button(self, button_id):
173 return self.select_single(
175 objectName=
'pinPadButton{}'.format(button_id)
def enter_pin_code(self, code)
def close_indicator_page(self)
def _get_pinpad_button(self, button_id)
def get_current_focused_app_id(self)
def open_indicator_page(self, indicator_name)
def _get_indicator_page(self, indicator_name)
def show_dash_from_launcher(self)
def show_dash_swiping(self)
def launch_application(self, application_name)
def _get_indicator_panel_item(self, indicator_name)