Exemplo n.º 1
0
def isVip(self):
    print("是否为大咖vip")
    #切换到【我的】
    self.driver.find_element_by_name('我的').click()
    # 判断是否登录
    isLogin = isElement.find_Element(self, 'id',
                                     'tv_my_fragment_login_no_login')
    if isLogin:
        # 登录账号
        self.driver.find_element_by_id('tv_my_fragment_login_no_login').click()
        sleep(5)
        login.login_userName(self)
        flag = self.driver.find_element_by_xpath(
            '//android.view.View[@content-desc="绑定 绑定"]').is_enabled()
        if flag:
            back.ivBack(self)
    else:
        print("有登录")
    # 判断是否为vip
    text = self.driver.find_element_by_id('tv_my_fragment_vip_wiki_date').text
    print("大咖vip", text)
    if text == '已失效':
        return '已失效'
    elif text == "未开通":
        return '未开通'
    else:
        return 'vip'
Exemplo n.º 2
0
def login_download(self):
    # 判断是否登录
    isLogin = isLogins.isLogin(self)
    # 返回
    back.ivBack(self)
    if isLogin:
        print("已登录")
    else:
        print("未登录,登录账号")
        self.driver.find_element_by_id("tv_my_fragment_login_no_login").click()
        sleep(5)
        Logins.login_userName(self)
    # 切换到我的
    self.driver.find_element_by_name('我的').click()
    sleep(3)
    # 选择【下载】
    self.driver.find_element_by_name('下载').click()
    sleep(3)
    list = self.driver.find_elements_by_id(
        'com.mbalib.android.wiki:id/recycler')[0].find_elements_by_class_name(
            'android.widget.LinearLayout')
    if len(list) == 0:
        print("已下载列表无数据")
    else:
        list[0].click()
        sleep(5)
Exemplo n.º 3
0
def test_home_slideshow(self):
    print('banner图')
    # 判断是否有闪屏广告
    sleep(5)
    #点击banner
    self.driver.find_element_by_id('bannerContainer').click()
    # 返回
    back.ivBack(self)
Exemplo n.º 4
0
def test_home_banner(self):
    print('首页横幅广告')
    #判断是否有首页横幅广告
    hengfu = isElement.find_Element(self, 'id', 'iv_home_wiki')
    if hengfu:
        print('存在横幅广告')
        self.driver.find_element_by_id('iv_home_wiki').click()
        back.ivBack(self)
    else:
        print('不存在横幅广告')
Exemplo n.º 5
0
def test_ketang_ad(self):
    print("课堂首页广告")
    #判断是否有弹窗广告
    llparent = isElement.find_Element(self, 'id', 'llparent')
    if llparent:
        print("课堂首页有广告")
        self.driver.find_element_by_id('llparent').click()
        sleep(5)
        back.ivBack(self)
    else:
        print("课堂首页无广告")
    sleep(5)
Exemplo n.º 6
0
 def test_ad(self):
     #判断是否有更新弹窗
     splash = isElement.find_Element(self, 'id', 'splash_iv_image')
     if splash:
         print('点击闪屏广告')
         self.driver.find_element_by_id('splash_iv_image').click()
         sleep(5)
         #返回
         back.ivBack(self)
         #执行操作:判断是否有闪屏广告
         Ad.test_is_ad(self)
     else:
         print('test_ad无闪屏广告')
Exemplo n.º 7
0
 def test_is_ad(self):
     driver = self.driver
     llparent = isElement.find_Element(self, 'id', 'image')
     sleep(5)
     print('判断是否有首页广告', llparent)
     if llparent:  # 判断是否有首页广告
         print('有首页广告')
         driver.find_element_by_id('image').click()
         sleep(5)
         #返回
         back.ivBack(self)
     else:
         print("无首页广告")
     sleep(5)
Exemplo n.º 8
0
def test_afamous_ad(self):
    print("有句名言广告")
    self.driver.find_element_by_name('有句名言').click()
    sleep(5)
    # 判断是否有广告位
    # 先判断每日一词是否是有图
    clImage = isElement.find_Element(self, 'id', 'ivAdImage')
    if clImage:
        print("有句名言有广告")
        self.driver.find_element_by_id('ivAdImage').click()
        sleep(5)
        back.ivBack(self)
    else:
        print("有句名言无广告")
Exemplo n.º 9
0
 def test_vipAduioPlay(self):
     # 判断是否有闪屏广告
     AdTest.Ad.test_ad(self)
     # 判断是否有首页广告
     AdTest.Ad.test_is_ad(self)
     sleep(5)
     print("点击首页的【今日推荐】的音频进入大咖播放页")
     #用户是否为VIP用户
     isVip = IsVip.isVip(self)
     back.ivBack(self)
     sleep(5)
     # 点击的是否为试听音频
     aduio = self.driver.find_elements_by_id(
         "com.mbalib.android.wiki:id/wikiAudioRecycler"
     )[0].find_elements_by_class_name("android.widget.RelativeLayout")
     print("audio", aduio)
     try:
         aduioIsVip = aduio[0].find_element_by_id('imageVip').is_displayed()
     except:
         aduioIsVip = False
     if isVip:
         print("点击音频进入大咖播放页")
         aduio[0].find_element_by_id('tv_title').click()
         sleep(5)
     else:
         #用户不是VIP用户则需判断音频是否为试听音频
         if aduioIsVip:
             print("该音频是非试听音频")
             aduio[0].find_element_by_id('tv_title').click()
             sleep(5)
             #触发分享弹窗或者开通VIP弹窗
             tvOpen = isElement.find_Element(self, 'id', 'tvOpen')
             #点击【开通vip】
             if tvOpen:
                 print("有触发弹窗")
                 self.driver.find_element_by_id('tvOpen').click()
                 sleep(5)
                 #进入开通vip页面,判断是否进入的是开通vip页面
                 tvPay = isElement.find_Element(self, 'id', 'tvPay')
                 if tvPay:
                     print("进入开通vip页面")
                 else:
                     print("未进入开通vip页面")
             else:
                 print("无触发弹窗")
         else:
             print("该音频是试听音频")
             aduio[0].find_element_by_id('tv_title').click()
             sleep(5)
Exemplo n.º 10
0
def test_dailyword_ad(self):
    print("每日一词广告")
    self.driver.find_element_by_name('每日一词').click()
    sleep(5)
    # 判断是否有广告位
    # 先判断每日一词是否是有图
    clImage = isElement.find_Element(self, 'id', 'ivAdImage')
    print("每日一词有广告", clImage)
    if clImage:
        print("每日一词有广告")
        self.driver.find_element_by_id('ivAdImage').click()
        sleep(5)
        back.ivBack(self)
    else:
        print("每日一词无广告")
Exemplo n.º 11
0
def test_is_ad(self):
    driver = self.driver
    llparent = isElement.find_Element(self, 'id', 'image')
    sleep(5)
    print('判断是否有首页广告', llparent)
    if llparent:  # 判断是否有首页广告
        print('有首页广告')
        driver.find_element_by_id('image').click()
        sleep(5)
        isWeixin = isElement.find_Element(self, 'id',
                                          'tv_popu_course_bind_wx_bind')
        if isWeixin:
            self.driver.find_element_by_id(
                'tv_popu_course_bind_wx_cancel').click()
        #返回
        back.ivBack(self)
    else:
        print("无首页广告")
    sleep(5)
Exemplo n.º 12
0
def test_wiki_audio_vip(self):
    print("大咖开通页背景广告位")
    screen = swipe.get_size(self)
    self.driver.swipe(screen[0] * 0.5, screen[1] * 0.75, screen[0] * 0.5,
                      screen[1] * 0.25, 6000)
    #进入大咖首页
    print("点击首页的大咖讲百科进入大咖首页")
    self.driver.find_elements_by_id(
        "com.mbalib.android.wiki:id/ivSection")[0].click()
    #点击开通,进入开通页
    self.driver.find_element_by_id('ll_header').click()
    sleep(5)
    vipAd = isElement.find_Element(self, 'id', 'ivVipBanner')
    if vipAd:
        print("存在大咖开通页背景广告位")
        self.driver.find_element_by_id('ivVipBanner').click()
        sleep(5)
        back.ivBack(self)
    else:
        print("不存在大咖开通页背景广告位")
Exemplo n.º 13
0
 def test_wiki_audio_vip(self):
     print("大咖开通页背景广告位")
     # 判断是否有闪屏广告
     Ad.test_ad(self)
     # 判断是否有首页广告
     Ad.test_is_ad(self)
     #进入大咖首页
     print("点击首页的大咖讲百科进入大咖首页")
     self.driver.find_elements_by_id(
         "com.mbalib.android.wiki:id/ivSection")[0].click()
     #点击开通,进入开通页
     self.driver.find_element_by_id('ll_header').click()
     sleep(5)
     vipAd = isElement.find_Element(self, 'id', 'ivVipBanner')
     if vipAd:
         print("存在大咖开通页背景广告位")
         self.driver.find_element_by_id('ivVipBanner').click()
         sleep(5)
         back.ivBack(self)
     else:
         print("不存在大咖开通页背景广告位")
Exemplo n.º 14
0
def vip_free_course(self):
    # 判断用户是否为vip
    vipText = vip.isKeVip(self)
    ll_taps = self.driver.find_elements_by_id('ll_tap')
    ll_taps[3].click()
    # 判断是否有课堂广告
    ad.test_ketang_ad(self)
    flag = isElement.find_Element(self, "id",
                                  'com.mbalib.android.wiki:id/recycler_list')
    while not flag:
        screen = swipe.get_size(self)
        self.driver.swipe(screen[0] * 0.5, screen[1] * 0.75, screen[0] * 0.5,
                          screen[1] * 0.25, 6000)
        flag = isElement.find_Element(
            self, "id", 'com.mbalib.android.wiki:id/recycler_list')
    #点击全部课程的第一个课程
    list = self.driver.find_elements_by_id(
        "com.mbalib.android.wiki:id/recycler_list"
    )[0].find_elements_by_class_name("android.widget.LinearLayout")
    self.driver.find_element_by_id('ivFold').click()
    flowLayout = list[0].find_elements_by_id('textview')
    siz = len(flowLayout)
    index = 0
    flowText = flowLayout[index].text
    while flowText != 'VIP免费听':
        index = index + 1
        if index < siz:
            flowText = flowLayout[index].text
        else:
            print("未有vip免费听")
            return
    self.driver.find_element_by_id('ivFold').click()
    self.driver.find_elements_by_id(
        "com.mbalib.android.wiki:id/recycler_list"
    )[0].find_elements_by_class_name("android.widget.LinearLayout")[0].click()
    sleep(5)
    vipListen = isElement.find_Element(self, 'id', 'll_ke_vip_listen')
    if vipListen:
        print("该课程未报名")
        #判断用户是否为vip
        if vipText == 'vip':
            payBottom = self.driver.find_elements_by_id('ll_bottom_pay')
            if len(payBottom) == 1:
                print("用户是vip用户")
                self.driver.find_element_by_id('ll_ke_vip_listen').click()
                sleep(5)
                flag = isElement.find_Element(self, 'id', 'll_ke_vip_listen')
                if not flag:
                    print("vip免费听激活课程成功")
                else:
                    print("vip免费听激活课程失败")
                    return
                #我的课程中显示出该课程,有【vip免费听】标签
                title = self.driver.find_element_by_id('tv_ke_title').text
                back.ivBack(self)
                isbuyKe = buyKe.is_buy_ke(self, title)
                if isbuyKe:
                    print("vip免费听有加入我的课程列表")
                    list1 = self.driver.find_elements_by_id(
                        'com.mbalib.android.wiki:id/layout_recycler'
                    )[0].find_elements_by_class_name(
                        'android.widget.RelativeLayout')
                    tv_titles = self.driver.find_elements_by_id(
                        'com.mbalib.android.wiki:id/layout_recycler'
                    )[0].find_elements_by_id(
                        'com.mbalib.android.wiki:id/tv_title')
                    for index in range(len(tv_titles)):
                        if title == tv_titles[index].text:
                            print("title:", tv_titles[index].text)
                            #判断是否有vip免费听按钮
                            vipLogo = isElement.find_Element(
                                self, 'id', 'iv_item_my_course_vip')
                            if vipLogo:
                                print("有显示【vip免费听】标签")
                            else:
                                print("未显示【vip免费听】标签")
                else:
                    print("vip免费听未加入我的课程列表")
            else:
                print("用户不是vip用户")
                self.driver.find_element_by_id('ll_ke_vip_listen').click()
                sleep(5)
                tvTitle = self.driver.find_element_by_id('tvTitle').click()
                if tvTitle == '课堂VIP ':
                    print("点击vip免费听,跳转到课堂vip开通页")
                    return
        else:
            print("用户不是vip用户")

    else:
        buy = isElement.find_Element(self, 'id', 'tv_buy')
        if buy:
            print("该课程未报名且该课程不是vip免费听课程")
        else:
            print("该课程已报名")
Exemplo n.º 15
0
def test_buyKe(self):
    """进入课程详情页,判断用户是否报名,未报名则报名"""
    # 判断是否登录
    isLogin = IsLogin.isLogin(self)
    if not isLogin:
        self.driver.find_element_by_id('tv_my_fragment_login_no_login').click()
        sleep(5)
        login.login_userName(self)
        #判断是否绑定手机
        bind = self.driver.find_element_by_xpath(
            "//android.view.View[@content-desc='绑定 绑定']").is_enabled()
        print("bind:", bind)
        if bind:
            back.ivBack(self)
    # 当前账号的M币金额
    money = mbi.Mbi(self)
    #返回到【我的】页面
    back.ivBack(self)
    sleep(5)
    #切换到课堂
    self.driver.find_elements_by_id('tv_tab_title')[3].click()
    #判断是否有课堂广告
    ad.test_ketang_ad(self)
    sleep(5)
    screen = swipe.get_size(self)
    self.driver.swipe(screen[0] * 0.5, screen[1] * 0.75, screen[0] * 0.5,
                      screen[1] * 0.25, 6000)
    list = self.driver.find_elements_by_id(
        "com.mbalib.android.wiki:id/recycler_package"
    )[0].find_elements_by_class_name("android.widget.LinearLayout")
    list[0].click()
    sleep(5)
    #判断是否进入的是微信绑定页,如果是点击【取消】
    flag = isElement.find_Element(self, 'id', 'tv_popu_course_bind_wx_bind')
    if flag:
        self.driver.find_element_by_id('tv_popu_course_bind_wx_cancel').click()
    sleep(5)
    print("进入课程详情页,是否有报名按钮")
    keTitle = self.driver.find_element_by_id('tv_ke_title').text
    print("keTitle:", keTitle)
    tvBuy = isElement.find_Element(self, 'id', 'tv_buy')
    if tvBuy:
        print("存在报名按钮")
        self.driver.find_element_by_id("tv_buy").click()
        sleep(5)
        #使用M币支付报名
        flag = payType.m_pay_cancle(self, money)
        if not flag:
            return
        else:
            back.ivBack(self)
            #判断是否有补充弹窗,有则提交数据
            contet = isElement.find_Element(self, 'id', 'layoutContent')
            if contet:
                print("信息补充弹窗开启")
                #填写信息点击【保存】
                sInfo.filled(self)
            sleep(5)
            back.ivBack(self)
            isBuyKe.is_buy_ke(self, keTitle)
    else:
        print("不存在报名按钮")
        back.ivBack(self)
        isBuyKe.is_buy_ke(self, keTitle)
Exemplo n.º 16
0
    def test_search_ad(self):
        print('搜索首页广告')
        # 判断是否有闪屏广告
        Ad.test_ad(self)
        # 判断是否有首页广告
        Ad.test_is_ad(self)
        self.driver.find_element_by_id('toolbar_iv_search').click()
        sleep(5)
        #收起键盘
        self.driver.hide_keyboard()
        #点击首个广告:目前是大咖广告
        self.driver.find_elements_by_id(
            "com.mbalib.android.wiki:id/image")[0].click()
        back.ivBack(self)
        #点击每日一词,有句名言,智库早报
        print('进入每日一词')
        self.driver.find_elements_by_id(
            'com.mbalib.android.wiki:id/ivImge')[0].click()
        back.ivBack(self)
        print('进入有句名言')
        self.driver.find_elements_by_id(
            'com.mbalib.android.wiki:id/ivImge')[1].click()
        back.ivBack(self)
        print('进入智库早报')
        self.driver.find_elements_by_id(
            'com.mbalib.android.wiki:id/ivImge')[2].click()
        back.ivBack(self)
        print("进入搜索广告位")
        self.driver.find_elements_by_id(
            "com.mbalib.android.wiki:id/image")[1].click()
        back.ivBack(self)
        #切换到课堂
        print("切换到课堂搜索页")
        self.driver.find_element_by_name('课堂').click()
        #判断是否有广告
        print("判断课堂搜索页是否有广告")
        IvImageAd = isElement.find_Element(self, 'id', 'IvImageAd')
        if IvImageAd:
            print("存在课堂搜索页广告")
            self.driver.find_element_by_id('IvImageAd').click()
            sleep(5)
            back.ivBack(self)
        else:
            print("不存在课堂搜索页广告")

        #切换到资讯搜索页
        print("切换到资讯搜索页")
        self.driver.find_element_by_name('资讯').click()
        IvImageAd = isElement.find_Element(self, 'id', 'IvImageAd')
        if IvImageAd:
            print("存在资讯搜索页广告")
            self.driver.find_element_by_id('IvImageAd').click()
            sleep(5)
            back.ivBack(self)
        else:
            print("不存在资讯搜索页广告")
        sleep(5)