def wait_for_open_spacial_function(self, sp_text="", resourceIdMatches_txt="", timeout=600): failed_time = 0 self.logout(self.my_func_name(), "Wait for %s spacial function." % self.app_package) for i in range(timeout): unclock_android_o_screen() if i % 5 == 0: kill_adb_uiautomator_block() if resourceIdMatches_txt == "": if self.device(text=sp_text).exists: return True else: if self.device(resourceIdMatches=".+/%s$" % resourceIdMatches_txt).exists: return True i += 1 time.sleep(1) if not app_exception_kill_case(self.app_package): if failed_time > 6: self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False failed_time += 1 continue failed_time = 0 return False
def click_ui_button_by_text(self, key_code="", textcont="", index_nu="", timeout=10): icount = 0 kill_adb_uiautomator_block_old() while icount < timeout: unclock_android_o_screen() if not app_exception_kill_case(self.app_package): self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False if not "" == index_nu: if not "" == key_code: app_dev = self.device(index=index_nu, text=key_code) if not "" == textcont: app_dev = self.device(index=index_nu, textContains=textcont) else: if not "" == key_code: app_dev = self.device(text=key_code) if not "" == textcont: app_dev = self.device(textContains=textcont) if app_dev.exists: app_dev.click() icount = 0 break time.sleep(1) icount += 1 kill_adb_uiautomator_block_old() if icount > 0: return False else: return True
def click_ui_button_by_resourceIdMatches(self, key_code, not_id=False, timeout=10, package=''): icount = 0 kill_adb_uiautomator_block_old() self.logout(self.my_func_name(), "%s click..." % key_code) while icount < timeout: unclock_android_o_screen() if package == "" and not app_exception_kill_case(self.app_package): self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False if not_id: app_dev = self.device(resourceIdMatches="%s" % key_code) else: app_dev = self.device(resourceIdMatches=".+/%s$" % key_code) if app_dev.exists: app_dev.click() icount = 0 break time.sleep(1) icount += 1 kill_adb_uiautomator_block_old() if icount > 0: return False else: return True
def click_ui_button_by_text_or_resid(self, key_code='', resid='', timeout=10): icount = 0 kill_adb_uiautomator_block_old() while icount < timeout: unclock_android_o_screen() if not app_exception_kill_case(self.app_package): self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False if resid == "": app_dev = self.device(text=key_code) else: app_dev = self.device(resourceId=resid) if app_dev.exists: app_dev.click() icount = 0 break time.sleep(1) icount += 1 kill_adb_uiautomator_block_old() if icount > 0: return False else: return True
def wait_for_compelet_for_fps(self, timeout=100, ABS=30): i = 0 kill_uiautomator() if self.watt_operate.watt_flags: self.watt_operate.start_watt() # time.sleep(5) while i < timeout: # unclock_android_o_screen() if wait_for_boot(): if not app_exception_kill_case(self.app_package): self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) i = 0 break i += 10 time.sleep(10) self.logout(self.my_func_name(), "\r>>>Please wait for test complete ... %s(s)" % i) else: time.sleep(10) if i == 0: # kill_adb_uiautomator_block() if self.watt_operate.watt_flags: self.watt_operate.stop_watt() return False else: if self.watt_operate.watt_flags: self.watt_operate.stop_watt() try: self.watt_operate.watt_result_treat(ABS) except Exception, e: self.logout(self.my_func_name(), "watt_operate error %s." % e) return False return True
def wait_for_complete(self, complete_text, timeout=1800, splittime=5, ABS=30, skipstep=30, package=''): i = 0 failed_time = 0 if self.watt_operate.watt_flags: self.watt_operate.start_watt() if not splittime == 5: time.sleep(splittime) kill_adb_uiautomator_block_old() while i < timeout: unclock_android_o_screen() kill_adb_uiautomator_block() if package == '' and not app_exception_kill_case(self.app_package): if failed_time > 2: if self.watt_operate.watt_flags: self.watt_operate.stop_watt() return False failed_time += 1 continue app_dev = self.device(resourceIdMatches=".+/%s$" % complete_text) if app_dev: if app_dev.exists: print self.logout(self.my_func_name(), "%s test finshed..." % self.app_name) if self.watt_operate.watt_flags: self.watt_operate.stop_watt() try: self.watt_operate.watt_result_treat(ABS) except Exception, e: self.logout(self.my_func_name(), "watt_operate error %s." % e) return False return True else: i += skipstep time.sleep(skipstep) self.logout(self.my_func_name(), "\r>>>Please wait for test complete. %s (s)" % i) failed_time = 0
def wait_for_complete_ex(self, complete_text, timeout=1800, ABS=30): i = 0 failed_time = 0 self.logout(self.my_func_name(), "%s test waiting..." % self.app_package) kill_adb_uiautomator_block() if self.watt_operate.watt_flags: self.watt_operate.start_watt() while i < timeout: unclock_android_o_screen() if self.device(resourceId="%s" % complete_text).exists: print self.logout(self.my_func_name(), "%s test finshed..." % self.app_package) if self.watt_operate.watt_flags: self.watt_operate.stop_watt() try: self.watt_operate.watt_result_treat(ABS) except Exception, e: self.logout(self.my_func_name(), "watt_operate error %s." % e) return False return True else: i += 5 kill_adb_uiautomator_block() time.sleep(5) if not app_exception_kill_case(self.app_package): if failed_time > 2: self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) if self.watt_operate.watt_flags: self.watt_operate.stop_watt() return False failed_time += 1 continue sys.stdout.write("\r>>>Please wait for test complete. %s (s)" % i) sys.stdout.flush() failed_time = 0
def wait_for_root_page(self, root_text="", decription_text="", timeout=300): failed_time = 0 self.logout(self.my_func_name(), "Wait for %s root page" % self.app_name) #self.logout(self.my_func_name(),"Wait %s ------"%root_text) for i in range(timeout): unclock_android_o_screen() if i % 5 == 0: kill_adb_uiautomator_block_old() kill_uiautomator() if decription_text == "": if self.device(resourceIdMatches=".+/%s$" % root_text).exists: print break else: if self.device(description="%s" % decription_text).exists: print break i += 1 time.sleep(1) if not app_exception_kill_case(self.app_package): if failed_time > 6: self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False failed_time += 1 continue sys.stdout.write("\r>>>Please wait for %s root page. %s (s)" % (self.app_name, i)) sys.stdout.flush() failed_time = 0 if i >= timeout: return False else: return True
def click_ui_button_by_resourceIdMatches_to_right_resourceIdMatches( self, test_text, key_code, timeout=10): icount = 0 kill_adb_uiautomator_block_old() while icount < timeout: unclock_android_o_screen() if not app_exception_kill_case(self.app_package): self.logout(self.my_func_name(), "%s test is failed..." % self.app_package) return False app_dev = self.device(resourceIdMatches=".+/%s$" % test_text) if app_dev.exists: right_bt = app_dev.right(resourceIdMatches=".+/%s$" % key_code) if right_bt.exists: right_bt.click() icount = 0 break time.sleep(1) icount += 1 kill_adb_uiautomator_block_old() if icount > 0: return False else: return True