Ejemplo n.º 1
0
def block_009_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,9号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    """
    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 2:
        # 上移1次
        focusMove.move_direction(driver, 1, 19)
        logging.info('焦点上移1次')
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 3:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 4:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 2
0
def block_008_005_025_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,8\5\25号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    """
    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 2:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 3:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 4:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 5:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 3
0
def block_032_play_focus_move(driver, i):
    '''
    32号区块为轮播区块无详情页
    焦点从上边的区块下移时,有需要2次下移,有时需要1次下移,该区块不稳定也不符合进入详情页的需求
    该区块需要在接口中过滤掉
    '''

    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 2:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 3:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 4:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 5:
        logging.info('最后一个推荐位,焦点需要移动到当前行的第一个位置')
Ejemplo n.º 4
0
def block_018_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,18号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    ***恢复焦点时多下移一次**
    :return:
    """
    # if i == 0:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 1:
    #     # 上移1次
    #     focusMove.move_direction(driver, 1, 19)
    #     logging.info('焦点上移1次')
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 2:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 3:
    #     # 上移1次
    #     focusMove.move_direction(driver, 1, 19)
    #     logging.info('焦点上移1次')
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 4:
    #     logging.info('左后一个推荐位,焦点需要移动到当前行的第一个位置')



    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 2:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')

        # 左移4次
        focusMove.move_direction(driver, 4, 21)
        logging.info('焦点左移4次')
    elif i == 3:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')

    elif i == 4:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 5
0
def page_block_focus_move_init(driver, block_no_name):
    '''
    :param driver ---驱动
    :param  block_no_name  区块名称--编号
    初始化区块焦点
    '''
    if block_no_name == '011':
        pass
    else:
        focusMove.move_direction(driver, 4, 21)
Ejemplo n.º 6
0
def block_003_026_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,3\26号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    lqq
    """
    if i in [0,1]:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 2:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 7
0
def block_002_023_028_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,2\23\28号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    lqq
    """
    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 8
0
def block_012_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,12号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    """
    # if i == 0:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 1:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 2:
    #     # 上移1次
    #     focusMove.move_direction(driver, 1, 19)
    #     logging.info('焦点上移1次')
    # elif i == 3:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 4:
    #     logging.info('区块最后一个推荐位')
    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
        # 右移1次
        focusMove.move_direction(driver, 2, 21)
        logging.info('焦点左移2次')
    elif i == 2:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 3:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 4:
        logging.info('区块最后一个推荐位')
Ejemplo n.º 9
0
def interface_block_no_content_travel(driver, block_no_content_list, block_recommend_no):
    """
    遍历接口与当前遍历推荐位对比
    :param driver:
    :param block_no_content_list: 推荐位信息列表
    :param block_recommend_no: 推荐位编号
    :return:
    lqq
    """
    # 遍历接口信息:需要测试的推荐位内容
    # for content_dict_no in range(len(block_no_content_list)):
    #     print(content_dict_no)  #推荐位字典
    #     print(block_no_content_list[content_dict_no])  # 每一个推荐位内容为字典格式
    #     if block_recommend_no in block_no_content_list[content_dict_no].keys():
    #         content_num = str(content_dict_no+1)  # 匹配上的推荐位的第几个
    #         print(content_num)
    #         content_type = block_no_content_list[content_dict_no][block_recommend_no][0]  # 推荐位的详情页类型
    #         content_name = block_no_content_list[content_dict_no][block_recommend_no][1]  # 推荐位的详情页名称
    #         print('---------------点击推荐位进入详情页并返回-----------', content_type, content_name, content_num)
    #
    #         # 调用用例方法,运行对应用例
    #         paramAndPlay.verify(driver, content_type, content_name)

    # block_no_content_list = [0]
    for content_no in block_no_content_list:
        print (content_no)
        if content_no == block_recommend_no:
            content_num = str(content_no+1)
            print(content_num)
            # print('---------------点击推荐位进入详情页并返回-----------', content_type, content_name, content_num)
            print('---------------点击推荐位进入详情页并返回-----------',  content_num)
            # 调用用例方法,运行对应用例
            # paramAndPlay.verify(driver, content_type, content_name)
            paramAndPlay.verify(driver,block_recommend_no,content_num)

            # 判断当前页面是否为频道页
            while True:
                try:
                    if locateElement.find_element(driver, const.Const.first_class_xpath):
                        print ('在频道页移动焦点到下一个推荐位')
                        break
                except Exception as e:
                    print(e)
                    focusMove.move_direction(driver, 1, 4)
            break
Ejemplo n.º 10
0
def block_recommend_travel_have_target(driver, list_block_number, block_no_name, block_no_content_list):
    """
    有测试推荐位的区块遍历
    :param driver:
    :param list_block_number  区块的推荐位数量
    :param block_no_name      区块名称
    :param block_no_content_list    推荐位信息列表
    :return:
    lqq
    """
    # 初始化区块焦点
    blockFocusMove.page_block_focus_move_init(driver,block_no_name)



    # 遍历当前区块推荐位
    for block_recommend_no in range(list_block_number):
        block_recommend_num = block_recommend_no+1  # 遍历数从0开始,为了显示数量从1开始计数
        logging.info('当前区块%s的第%s个位置' % (block_no_name, block_recommend_num))

        if block_no_content_list == []:
            logging.info('无推荐位遍历')
        elif block_no_content_list != []:
            # 需要测试的推荐位内容
            interface_block_no_content_travel(driver, block_no_content_list, block_recommend_no)

        # print (block_no_name, block_recommend_no)
        # print(type(block_no_name),type(block_recommend_no))
        # 根据区块名称,推荐位编号移动焦点
        blockFocusMove.page_block_focus_move(driver, block_no_name, block_recommend_no)

    # 2.6、区块推荐位遍历完成恢复区块焦点位置
    blockFocusMove.page_block_focus_move_return(driver, block_no_name)

    # 向下移动焦点
    focusMove.move_direction(driver, 1, 20)
Ejemplo n.º 11
0
def block_029_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,29号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    """
    # if i == 0:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    #     # 左移1次
    #     focusMove.move_direction(driver, 1, 21)
    #     logging.info('焦点左移1次')
    # elif i == 1:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 2:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    #     # 上移2次
    #     focusMove.move_direction(driver, 2, 19)
    #     logging.info('焦点上移2次')
    # elif i == 3:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 4:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    #     # 左移1次
    #     focusMove.move_direction(driver, 1, 21)
    #     logging.info('焦点左移1次')
    # elif i == 5:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 6:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    #     # 上移2次
    #     focusMove.move_direction(driver, 2, 19)
    #     logging.info('焦点上移2次')
    # elif i == 7:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    # elif i == 8:
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('焦点下移1次')
    #     # 左移1次
    #     focusMove.move_direction(driver, 1, 21)
    #     logging.info('焦点左移1次')
    # elif i == 9:
    #     # 右移1次
    #     focusMove.move_direction(driver, 1, 22)
    #     logging.info('焦点右移1次')
    # elif i == 10:
    #     logging.info('左后一个推荐位,焦点需要移动到当前行的第一个位置')

    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 2:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
        # 左移1次
        focusMove.move_direction(driver, 1, 21)
        logging.info('焦点左移1次')
    elif i == 3:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 4:
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
        # 左移1次
        focusMove.move_direction(driver, 6, 21)
        logging.info('焦点左移6次')
    elif i == 5:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 6:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')

    elif i == 7:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 8:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 9:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 10:
        logging.info('最后一个推荐位,焦点需要移动到当前行的第一个位置')
Ejemplo n.º 12
0
def block_027_play_focus_move(driver, i):
    """
    处理区遍历块推荐位时焦点的移动,27号区块
    :param driver:
    :param i: 区块推荐位列表序列号,即区块的第几个推荐位
    :return:
    """
    if i == 0:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 1:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 2:
        # 左移2次
        focusMove.move_direction(driver, 2, 21)
        logging.info('焦点左移2次')
        # 下移1次
        focusMove.move_direction(driver, 1, 20)
        logging.info('焦点下移1次')
    elif i == 3:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 4:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 5:
        # 右移1次
        focusMove.move_direction(driver, 1, 22)
        logging.info('焦点右移1次')
    elif i == 6:
        logging.info('左后一个推荐位,焦点需要移动到当前行的第一个位置')
Ejemplo n.º 13
0
def verify(driver, block_recommend_no, content_num):
    """
    点击确认键,进入详情页,判断视频是否正常起播
    :param driver:用例驱动
    # :param content_type:节目类型
    # :param  content_name :详情页标题
    :return:
    lqq
    """
    try:
        list_page_attr = driver.current_activity  # 获取导航页页面属性
        logging.info('testCase:' + '获取导航页页面属性' + list_page_attr)
        time.sleep(2)

        print('点击确认键进入详情页')
        focusMove.move_direction(driver, 1, 23)  # 点击确认按钮,进入详情页
        logging.info('testCase:' + '点击确认按钮,进入详情页')
        time.sleep(8)
        detail_page_attr = driver.current_activity  # 获取详情页页面属性
        logging.info('testCase:' + '获取详情页页面属性' + detail_page_attr)

        if list_page_attr != detail_page_attr:
            try:
                detail_title_name = driver.find_element_by_id(
                    Const.detail_title_id).text
                if detail_title_name:
                    logging.info('testCase:' + '获取详情页标题' + detail_title_name)
                else:
                    logging.info('页面无详情页标题,进入页面不合要求')
                    Flag = False
                    fileProcess.interface_data_return(Flag)
                    focusMove.move_direction(driver, 1, 4)  # 点击返回按钮,返回导航页
                    quit()
            except Exception as e:
                logging.info(e)

            # # 推荐位内容写回-----
            # fileProcess.interface_data_return(detail_title_name)

            # 进入详情页成功,判断视频是否正常播放(是否存在错误码和播放鉴权失败提示)
            elements = [Const.err_code_xpath, Const.err_auth_xpath]
            err_name_text = locateElement.elements_exist(driver, elements)
            print(err_name_text)
            logging.info('testCase:' + '错误码' + err_name_text)
            if err_name_text != '' and (u'失败' or u'错误' in err_name_text):

                # 视频播放失败,点击返回按钮,退出详情页
                logging.error('testCase' + '视频播放失败,节目详情页标题为#' +
                              detail_title_name)

                # 推荐位内容写回-----
                Flag = False
                # fileProcess.interface_data_return(block_recommend_no,content_num,detail_title_name,Flag)
                fileProcess.interface_data_return(Flag)
                focusMove.move_direction(driver, 1, 4)  # 点击返回按钮,返回导航页

            else:
                # 视频正常播放
                logging.info('testCase:' + '视频正常播放,开始执行测试用例')
                time.sleep(15)

                # 推荐位内容写回-----
                Flag = True
                # fileProcess.interface_data_return(block_recommend_no,content_num,detail_title_name,Flag)
                fileProcess.interface_data_return(Flag)
                focusMove.move_direction(driver, 1, 4)  # 点击返回按钮,返回导航页

        else:
            logging.error('testCase' + '无法进入详情页,第' + content_num + '个推荐位')
            # 推荐位内容写回-----
            Flag = False
            # fileProcess.interface_data_return(block_recommend_no,content_num,Flag)
            fileProcess.interface_data_return(Flag)
    except Exception as e:
        print(e)
Ejemplo n.º 14
0
    def __find_target_navigation(self, driver):
        """
        导航信息不为空时,移动导航焦点找到目标导航
        :param driver:
        :return: 目标导航列表
        """
        navigation_name_xpath_list, len_navigation_name_xpath_list = self.__assert_target_navigation_len(
        )
        navigation_name_list = []
        for i in range(len_navigation_name_xpath_list):
            print(navigation_name_xpath_list[i].keys())
            if len(navigation_name_xpath_list[i].keys()) != 1:
                logging.error("目标导航数据错误")
                quit()
            else:
                for key, value in navigation_name_xpath_list[i].items():
                    print(key, value, i)
                    logging.info('xpath列表:', value)
                    n = 0
                    while n <= Const.navigation_count:
                        logging.info("导航焦点右移循环次数共20次,当前次数为:%s次" % n)
                        try:
                            navigation_name = locateElement.find_element(
                                driver, value)
                            logging.info(navigation_name.text)
                            logging.info("导航名称:", navigation_name.text)
                            if navigation_name.text == key:
                                navigation_name_list.append(
                                    navigation_name.text)
                                if i == 0:
                                    class_name = chr(i + 19968)
                                else:
                                    class_name = chr(i + 20107)
                                logging.info(
                                    "找到了%s级导航%s" %
                                    (class_name, navigation_name.text))
                                print("找到了%s级导航%s" %
                                      (class_name, navigation_name.text))
                                break
                            else:
                                # 未找到要找的导航名称时右移一次焦点
                                focusMove.move_direction(driver, 1, 22)
                            n += 1
                        except Exception as e:
                            if n == 20:
                                logging.info('未定位到导航,已到最大循环次数%s,退出' % n)
                                quit()
                            else:
                                logging.info('未定位到导航,右移焦点')
                                focusMove.move_direction(driver, 1, 22)
                                n += 1
                                print(e)
                    # 需要增加循环等待,页面有内容时下移焦点
                    time.sleep(Const.navigation_wait_time)
                    #判断导航页有无区块
                    locateElement.element_id(driver, Const.id, n)

                    # 找到要测试的导航时,下移一次焦点
                    focusMove.move_direction(driver, 1, 20)
        # 返回要测试的导航名称列表
        return navigation_name_list
Ejemplo n.º 15
0
def page_block_focus_move_return(driver, block_name):
    """
    '''
    根据区块号确定区块内推荐位焦点的返回,将焦点移动到区块的最左侧
    :param driver:
    :param block_name: 区块号
    :return:
    """
    if block_name == '001':
        pass

    elif block_name in ['002', '023', '028']:
        # 左移1次
        focusMove.move_direction(driver, 1, 21)
        logging.info('左移1次')

    elif block_name in ['003', '009', '012', '026']:
        # 左移2次
        focusMove.move_direction(driver, 2, 21)
        logging.info('左移2次')

    elif block_name in [
            '004', '010', '011', '013', '015', '016', '017', '019', '027',
            '031'
    ]:
        # 左移3次
        focusMove.move_direction(driver, 3, 21)
        logging.info('左移3次')

    elif block_name in ['005', '008', '021', '025', '029', '030']:
        # 左移5次
        focusMove.move_direction(driver, 5, 21)
        logging.info('左移5次')

    elif block_name in ['006', '007', '024']:
        # 左移7次
        focusMove.move_direction(driver, 7, 21)
        logging.info('左移7次')

    # elif block_name == '014':
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('下移1次')
    #     # 左移2次
    #     focusMove.move_direction(driver, 2, 21)
    #     logging.info('左移2次')

    elif block_name == '014':
        # 左移2次
        focusMove.move_direction(driver, 1, 21)
        logging.info('左移1次')

    # elif block_name == '018':
    #     # 下移1次
    #     focusMove.move_direction(driver, 1, 20)
    #     logging.info('下移1次')
    #     # 左移1次
    #     focusMove.move_direction(driver, 1, 21)
    #     logging.info('左移1次')

    elif block_name == '018':
        # 左移1次
        focusMove.move_direction(driver, 1, 21)
        logging.info('左移1次')

    elif block_name == '020':
        logging.info('not 20')

    elif block_name == '022':
        # 左移4次
        focusMove.move_direction(driver, 4, 21)
        logging.info('左移4次')

    elif block_name == '032':
        # 左移1次
        focusMove.move_direction(driver, 1, 21)
        logging.info('左移1次')