def launch_xiaowei_app(self, driver=None): """ Launch Xiaowei application :param:None :return:None :raises:None """ #xiaowei will prmopt "check if connect to another device" window if open xiaowei after a xiaowei behavior. And 0.5s sleep. time.sleep(0.5) try: self.__initialize_variable_of_xiaowei_app() if driver: self.driver = driver else: self.driver = self.mobile_driver_factory_object.get_driver( get_appium_server_ip(), self.phone_info.appium_port, self.phone_info.platform_name, self.phone_info.os_version, self.phone_info.config_name, self.phone_info.uuid, self.package_name, self.activity_name, self.phone_info.wda_local_port) except Exception as e: logger.error( f'Driver launch Fail on {self.phone_info.bluetooth_name}') logger.error(repr(e)) return False else: return True
def finish_voice_query(self, name, completed): if completed: logger.info("The %s is over" % name) self.engine.endLoop() else: logger.error("There is an exception when %s" % name) self.engine.endLoop()
def launch_settings_app(self, driver=None): """ Launch settings application :param:None :return:None :raises:None """ status = '' is_application_launched = False self.__initialize_variable_of_settings() try: if driver: self.driver = driver else: self.driver = self.mobile_driver_factory_object.get_driver( get_appium_server_ip(), self.phone_info.appium_port, self.phone_info.platform_name, self.phone_info.os_version, self.phone_info.config_name, self.phone_info.uuid, self.package_name, self.activity_name, self.phone_info.wda_local_port) wait(5, "To Settle Down App After Launching") is_application_launched = True except Exception as e: logger.error('Driver launch Fail on {}'.format( self.phone_info.bluetooth_name)) return is_application_launched
def launch_app(self): logger.info('open xiaowei') try: self.driver.appium_driver.launch_app() except Exception as e: logger.info('Xiaowei cannnot be opened') logger.error(e) return False else: logger.info('Xiaowei has been opened sucessfully') return True
def verify_setting(self, check_setting_xpath): try: logger.info("Verify the required setting") self.driver.appium_driver.find_element_by_xpath( check_setting_xpath) except Exception as e: logger.error("The setting was verified to be wrong") return False else: logger.info("Complete the required setting successfully") return True
def perform_setting(self, perform_setting_xpath): try: logger.info("Perform the required setting") wait(1) self.driver.appium_driver.find_element_by_xpath( perform_setting_xpath).click() except Exception as e: logger.error("Unable to do the required setting") return False else: logger.info("Complete the required setting") return True
def go_to_device_page(self): logger.info('go to device page') self._verify_and_click_element(self.device_icon_xpath) try: result = self.driver.appium_driver.find_element_by_xpath( self.device_page_xpath) if result: logger.info('Go to device page successfully') else: logger.info('Fail to go to device page') return result except Exception as e: logger.error(e) logger.info('Fail to go to device page') return False
def verify_connection_prompt(self, wait_time=5): """ check the connection prompt :return: True """ logger.info('Verify connection prompt') try: WebDriverWait(self.driver.appium_driver, wait_time, 1).until(lambda x: x.find_element_by_xpath( self.connection_prompt_xpath)) return True except Exception as e: logger.error(e) logger.info('There is no xiaowei prompt in current page') return False
def cancel_connection_prompt(self, wait_time=5): """ Tap cancel button :return: True """ logger.info('Cancel connection prompt') try: WebDriverWait(self.driver.appium_driver, wait_time, 1).until( lambda x: x.find_element_by_xpath(self.cancel_button_xpath)) self.driver.appium_driver.find_element_by_xpath( self.cancel_button_xpath).click() return True except Exception as e: logger.error(e) logger.info('There is no cancel button') return False
def go_to_test_screen(self, specific_xpath): try: logger.info("Prepare to go to test screen") self.driver.appium_driver.find_element_by_xpath( specific_xpath).click() except Exception as e: try: self.driver.appium_driver.back() logger.info("Prepare to go to test screen again") self.driver.appium_driver.find_element_by_xpath( specific_xpath).click() except Exception as e: logger.error("Unable to go to test screen") return False else: logger.info("Succeed to go to test screen") self.driver.appium_driver.back() return True else: logger.info("Succeed to go to test screen") return True