APP`S兼容自动化-runCase()实现-04

21 篇文章 0 订阅
14 篇文章 1 订阅

本文继APP`S兼容自动化-runCase()实现-03

兼容性判断主体:

def run_judge(self):
        """
        兼容测试:主要通过有效点击数与无效点击数判断是否兼容
        :return:
        """
        run_key_ok = 11  # 设定有效点击数,达到有效点击数及判断为兼容
        run_key_no = 11  # 设定无效点击数,达到无效点击数及判断为不兼容
        rum_key = 21  # 设定点击总数,达到总数后判断不兼容
        try:
            click_num = 0
            not_click_num = 0
            key_num = 0
            msg = ""
            while True:
                self.passForClick()
                clicks = set(self.d(clickable="True", packageName=self.page))
                if len(clicks) != 0:
                    rdm = random.randint(0, len(clicks) - 1)
                    list(clicks)[rdm].click()
                    click_num = click_num + 1
                    log.info("[{}]完成{}次有效点击[{}]".format(self.device_info, click_num, self.page))
                    if click_num >= run_key_ok:
                        log.info("[{}]已完成既定{}次有效点击[{}]".format(self.device_info, click_num, self.page))
                        return True
                else:
                    if self.d.app_current()['package'] == self.page:
                        log.info("[{}]当前页面无可点击对象,尝试滑屏······[{}]".format(self.device_info, self.page))
                        case_msg = self.dragPage
                        if msg == case_msg:
                            key_num = rum_key + 1
                            msg = ""
                            log.info("[{}]上次尝试滑屏无响应,终止测试······[{}]".format(self.device_info, self.page))
                        else:
                            msg = self.dragPage
                    elif self.get_run():
                        log.info("[{}]当前页面不是测试应用,尝试返回······[{}]".format(self.device_info, self.page))
                        self.d.press('back')
                        if self.d.app_current()['package'] != self.page:
                            not_click_num = not_click_num + 2
                            log.info("[{}]尝试返回后未返回测试应用,计无效点击{}次,尝试重启应用······[{}]".format
                                     (self.device_info, not_click_num, self.page))
                            if not_click_num >= run_key_no:
                                tms = str(time.time())
                                self.d.screenshot("./resTest/screenshot/{}.png".format(tms))
                                log.info("[{}]已达到既定无效点击{}次数,截图取证······[{}]".format
                                         (self.device_info, not_click_num, self.page))
                                return "./resTest/screenshot/{}.png".format(tms)
                            self.d.app_start(self.page)
                    else:
                        not_click_num = not_click_num + 1
                        log.info("[{}]无效点击{}次······[{}]".format(self.device_info, not_click_num, self.page))
                        if not_click_num >= run_key_no:
                            tms = str(time.time())
                            self.d.screenshot("./resTest/screenshot/{}.png".format(tms))
                            log.info(
                                "[{}]已达到既定无效点击{}次数,截图取证······[{}]".format(self.device_info, not_click_num, self.page))
                            return "./resTest/screenshot/{}.png".format(tms)
                key_num = key_num + 1
                if key_num >= rum_key:
                    tms = str(time.time())
                    self.d.screenshot("./resTest/screenshot/{}.png".format(tms))
                    log.info(
                        "[{}]有效点击{}次,无效点击{}次,仍无法判断兼容[{}]".format(self.device_info, click_num, not_click_num, self.page))
                    return "./resTest/screenshot/{}.png".format(tms)
                time.sleep(TIME)
        except Exception as a:
            log.error("程序异常:{}".format(a))
            tm = str(time.time())
            self.d.screenshot("./resTest/screenshot/{}.png".format(tm))
            return "./resTest/screenshot/{}.png".format(tm)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值