Exemple #1
0
 def normalize_qqlite(self):
     footer = self.poco("com.tencent.qqlite:id/tw_main")
     while not footer.exists():
         keyevent("BACK")
     footer.child("com.tencent.qqlite:id/tab1").click()
     self.poco("com.tencent.qqlite:id/contentFrame").offspring("com.tencent.qqlite:id/vPager").offspring(
         "com.tencent.qqlite:id/recent_chat_list").child("android.widget.LinearLayout")[0].click()
Exemple #2
0
 def _keyevent(self,keyname, **kwargs):
     '''
     执行keyevent
     :param keyname:
     :param kwargs:
     :return:
     '''
     keyevent(keyname,**kwargs)
Exemple #3
0
    def login(self, is_new_account=False, uid=10340):
        if config.okc_environment == config.OkcEnvironment.Dev.value:
            environment_node_name = "dev_btn"
        elif config.okc_environment == config.OkcEnvironment.OnlineTest.value:
            environment_node_name = "online_test_btn"
        else:
            environment_node_name = "test_btn"

        if is_new_account:
            node_name_fake_sdk = "tab_2"
            node_name_new = "new_btn"
            self.click_by_node_name(view="ViewEnvironmentSelect",
                                    node_name=node_name_fake_sdk)
            self.click_by_node_name(view="ViewEnvironmentSelect",
                                    node_name=node_name_new)
        else:
            uid_node_name = "text"

            uid_tab_node_name = "tab_1"
            self.click_by_node_name(view="ViewEnvironmentSelect",
                                    node_name=uid_tab_node_name)

            old_uid = str(self.poco(uid_node_name).get_text())

            if not old_uid == str(uid):
                uid_input_node_name = "uid_input"
                if self.click_by_node_name(view="ViewEnvironmentSelect",
                                           node_name=uid_input_node_name):
                    old_uid_size = len(old_uid)
                    while old_uid_size > 0:
                        api.keyevent("KEYCODE_DEL")
                        old_uid_size -= 1
                    api.sleep(self.default_wait_time)
                    api.text(str(uid))
                self.click_by_node_name(view="ViewEnvironmentSelect",
                                        node_name=environment_node_name)

        if self.click_by_node_name(view="ViewEnvironmentSelect",
                                   node_name=environment_node_name):
            loading_time = 0
            loading_start_time = time.time()
            while True:
                if loading_time >= 120:
                    logging.error("loading 时间超过两分钟,异常....")
                    self.get_screenshots(image_name="Loading_Error_%s" %
                                         int(loading_start_time))
                    break
                if self.find_ui_node(ui_node_name="ViewLoading"):
                    logging.info("还在loading中...")
                    time.sleep(self.default_wait_time)
                    loading_time = time.time() - loading_start_time
                    self.update_ui_node()
                else:
                    logging.info("loading 完毕")
                    logging.info("此次loading耗时小于 %s 秒" % loading_time)
                    break
        else:
            logging.error("环境选择按钮点击失败....")
Exemple #4
0
 def exit_app(self):
     logging.info('exit_app')
     confir_exit_btn = 'com.orbbec.gdgamecenter:id/confir_exit_btn'
     keyevent("BACK")
     time.sleep(5)
     self.poco(confir_exit_btn).click()
     # if self.img_element_exists('../action_imgs/exit_btn.png', False):
     #     logging.info('find it')
     #     self.click_img('../action_imgs/exit_btn.png', False)
     time.sleep(5)
Exemple #5
0
 def send_message(self, msg_text):
     try:
         input_box = self.poco("com.tencent.qqlite:id/input")
         input_box.click()
         input_box.set_text(msg_text)
         keyevent("ENTER")
         return True
     except PocoNoSuchNodeException as e:
         logger_yiri.error(e)
         self.normalize_qqlite()
         return False
 def back_homepage(self, ele_name='scan_code'):
     """
     APP测试每次用例执行后返回首页
     """
     # 最多10次迭代
     for i in range(10):
         # 判断是否返回了首页(首页特有元素判断),没有返回首页点击返回键,返回了首页循环退出
         if not self.poco(ele_name).exists():
             keyevent("KEYCODE_BACK")
         else:
             break
Exemple #7
0
def home():
    """
    返回家
    :return: None
    """
    while True:
        pos = Template(r"../item/home-tower.png").match_in(dev.snapshot())
        if pos is not None:
            dev.touch(pos)
            sleep(1)
            break

        pos = Template(r"../item/home-map.png").match_in(dev.snapshot())
        if pos is not None:
            dev.touch(pos)
            sleep(1)
            dev.touch(pos)
            sleep(1)
            break

        keyevent('BACK')
Exemple #8
0
 def go_back(times=1):
     for i in range(times):
         keyevent("BACK")
Exemple #9
0
 def back(self):
     """
     后退。only android
     :return:
     """
     keyevent("BACK")