コード例 #1
0
    def testExsit(self):
        step = 1

        self.case_id = get_case(__file__)

        get_to_article_by_search(self.driver,AUDIO_ARTICLE,self.mode)
        all_time = get_alltime(self.driver)
        #print caclulate_for_audio('3:20',0.3)
        seekbar_sendkey(self.driver,0.7)
        sleep(WAIT_TIME)
        played_time = get_played_time(self.driver)
        real_time = caclulate_for_audio(all_time,0.7)
        assert abs(time_range_for_audio(played_time,real_time)) < 8
        print u'Step %s:进度条右划测试:OK' % (str(step))
        step+=1

        seekbar_sendkey(self.driver,0.3)
        sleep(WAIT_TIME)
        played_time = get_played_time(self.driver)
        real_time = caclulate_for_audio(all_time,0.3)
        assert abs(time_range_for_audio(played_time,real_time)) < 8
        print u'Step %s:进度条左划测试:OK' % (str(step))
        step+=1

        self.result = True
コード例 #2
0
    def back_check(self, article):
        step = 1

        #进入含音频的正文页
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(8)

        #切换到webview并打开音频
        # self.driver.switch_to.context(self.driver.contexts[-1])
        # self.driver.find_element_by_class_name('audio-start').click()
        # sleep(WAIT_TIME)
        # self.driver.switch_to.context(self.driver.contexts[0])
        #由於不同手機webview機制不同,此處採取坐標點擊方式實現
        click_audio_in_webview(self.driver)

        #切换回NATIVE

        start_play_time = get_played_time(self.driver)
        start_time = time.time()

        #退出当前页
        search_article_to_index(self.driver)
        sleep(10)

        #回到文章页验证音频是否持续播放
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)

        end_play_time = get_played_time(self.driver)
        end_time = time.time()
        print time_range_for_audio(end_play_time,
                                   start_play_time), end_time - start_time
        assert abs(
            time_range_for_audio(start_play_time, end_play_time) -
            (end_time - start_time)) <= 5
        assert element_exsist(self.driver, 'id', AUDIO_PAUSE)
        print u'Step %s:正文页音频播放时退出详情页,播放未完成时返回详情页测试:OK' % (str(step))
        step += 1

        #等待音频播放完成进入详情页
        seekbar_sendkey(self.driver, 0.9)
        wait = get_time_total(get_alltime(self.driver)) * 0.1
        search_article_to_index(self.driver)
        sleep(wait + 5)
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)
        #验证音频框仍然展示,且为初始状态
        assert element_exsist(self.driver, 'id', AUDIO_START)
        assert get_played_time(self.driver) == '00:00'
        #点击播放可重新播放
        self.driver.find_element_by_id(AUDIO_START).click()
        sleep(WAIT_TIME)
        assert get_played_time(self.driver) != '00:00'
        print u'Step %s:正文页音频播放时退出详情页,播放完成返回详情页测试:OK' % (str(step))
        step += 1
コード例 #3
0
ファイル: AppQuitTest.py プロジェクト: ban666/UITestForDx
    def common_check(self, article):
        step = 1

        #进入音频页并查看通知栏
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)
        open_notifications(self.driver)
        sleep(WAIT_TIME)
        assert element_exsist(self.driver, 'id', NOTIFICATION_AUDIO_PLAY)
        print u'Step %s:播放音频时通知栏上显示控制器测试:OK' % (str(step))
        step += 1
        close_notification(self.driver)
        sleep(WAIT_TIME)
        played_time = get_played_time(self.driver)
        start_time = time.time()

        #退出客户端并验证通知栏
        search_article_to_index(self.driver)
        quit_app(self.driver)
        open_notifications(self.driver)
        sleep(WAIT_TIME)
        assert notification_status_judge(self.driver, 'pause')
        print u'Step %s:退出客户端后通知栏仍为播放状态测试:OK' % (str(step))
        step += 1

        #点击通知栏查看播放进度
        self.driver.find_element_by_id(NOTIFICATION_AUDIO_TITLE).click()
        played_time_now = get_played_time(self.driver)
        end_time = time.time()
        real_cost_time = time_range_for_audio(played_time, played_time_now)
        cost_time = end_time - start_time
        #print real_cost_time,cost_time
        assert abs(real_cost_time - cost_time) <= 2
        print u'Step %s:退出客户端后音频仍在持续播放测试:OK' % (str(step))
        step += 1
コード例 #4
0
    def pause_check(self, article):
        step = 1

        #进入音频页并查看通知栏
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)
        clear_notification(self.driver)
        open_notifications(self.driver)
        print self.driver.current_activity
        sleep(WAIT_TIME)
        assert notification_status_judge(self.driver, 'pause')
        print u'Step %s:播放音频时通知栏上显示控制器测试:OK' % (str(step))
        step += 1
        close_notification(self.driver)
        sleep(WAIT_TIME)
        played_time = get_played_time(self.driver)
        start_time = time.time()

        #退出当前页并在通知栏暂停音频
        search_article_to_index(self.driver)
        open_notifications(self.driver)
        sleep(WAIT_TIME)
        self.driver.find_element_by_id(NOTIFICATION_AUDIO_PLAY).click()
        end_time = time.time()
        notification_status_judge(self.driver, 'play')

        #退出客户端并验证通知栏状态
        close_notification(self.driver)
        sleep(WAIT_TIME)
        quit_app(self.driver)
        open_notifications(self.driver)
        sleep(WAIT_TIME)
        assert notification_status_judge(self.driver, 'play')
        print u'Step %s:退出客户端后通知栏仍为暂停状态测试:OK' % (str(step))
        step += 1

        #点击通知栏按钮可继续播放
        open_notifications(self.driver)
        sleep(WAIT_TIME)

        self.driver.find_element_by_id(NOTIFICATION_AUDIO_PLAY).click()
        start_time2 = time.time()
        assert notification_status_judge(self.driver, 'pause')

        #进入详情页查看播放进度
        self.driver.find_element_by_id(NOTIFICATION_AUDIO_TITLE).click()
        sleep(WAIT_TIME)
        #real_time = played_time+end_time-start_time
        end_time2 = time.time()
        played_time_now = get_played_time(self.driver)
        cost_time = end_time - start_time
        cost_time2 = end_time2 - start_time2
        real_cost_time = time_range_for_audio(
            played_time, played_time_now) - cost_time - cost_time2

        #print played_time,played_time_now,real_cost_time,cost_time,cost_time2
        assert abs(real_cost_time) <= 2
        print u'Step %s:退出客户端后音频仍在持续播放测试:OK' % (str(step))
        step += 1
コード例 #5
0
ファイル: BackTest.py プロジェクト: ban666/UITestForDx
    def common_check(self,article):
        step = 1

        #退出到其他页面后播放器持续播放
        get_to_article_by_search(self.driver,article,self.mode)
        sleep(WAIT_TIME)
        all_time = get_time_total(get_alltime(self.driver))
        play_time = self.driver.find_element_by_id(AUDIO_PLAY_TIME)
        while play_time.text == '00:00':
            sleep(WAIT_TIME)
        play_time_old = play_time.text
        #print play_time_old
        back(self.driver)
        sleep(5)
        self.driver.find_element_by_class_name('android.widget.RelativeLayout')\
            .find_element_by_class_name('android.widget.TextView').click()
        sleep(2)
        play_time_new = play_time.text
        #print play_time_new
        time_range = time_range_for_audio(play_time_old,play_time_new)
        assert time_range >= 7
        print u'Step %s:切换到客户端其他页面时音频继续播放测试:OK' % (str(step))
        step +=1

        #退出详情页等待音频播放完成再次进入,验证播放完成效果
        seekbar_sendkey(self.driver,0.95)
        wait = all_time*0.05
        back(self.driver)
        sleep(wait+10)
        self.driver.find_element_by_class_name('android.widget.RelativeLayout')\
            .find_element_by_class_name('android.widget.TextView').click()
        assert element_exsist(self.driver,'id',AUDIO_START)
        assert get_played_time(self.driver) == '00:00'
        print u'Step %s:音频播放完成效果测试:OK' % (str(step))
        step +=1

        #手动触发重新播放
        self.driver.find_element_by_id(AUDIO_START).click()
        sleep(10)
        assert get_time_total(get_played_time(self.driver))>0
        print u'Step %s:手动触发重新播放测试:OK' % (str(step))
        # step+=1

        return True
コード例 #6
0
    def common_check(self, article):
        step = 1

        #退出到其他页面后播放器持续播放
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)
        play_time = self.driver.find_element_by_id(AUDIO_PLAY_TIME)
        while play_time.text == '00:00':
            sleep(WAIT_TIME)
        play_time_old = play_time.text
        #print play_time_old
        back(self.driver)
        sleep(WAIT_TIME)
        self.driver.find_element_by_class_name('android.widget.RelativeLayout')\
            .find_element_by_class_name('android.widget.TextView').click()
        sleep(WAIT_TIME)
        play_time_new = play_time.text
        #print play_time_new
        time_range = time_range_for_audio(play_time_old, play_time_new)
        assert time_range >= 7
        print u'Step %s:切换到客户端其他页面时音频继续播放测试:OK' % (str(step))
コード例 #7
0
    def home_check(self, article):
        step = 1

        #退出到其他页面后播放器持续播放
        get_to_article_by_search(self.driver, article, self.mode)
        sleep(WAIT_TIME)
        play_time = self.driver.find_element_by_id(AUDIO_PLAY_TIME)
        while play_time.text == '00:00':
            sleep(WAIT_TIME)
        play_time_old = play_time.text
        #print play_time_old
        home(self.driver)
        sleep(5)
        open_notifications(self.driver)
        sleep(WAIT_TIME)
        self.driver.find_element_by_id(NOTIFICATION_AUDIO_TITLE).click()
        sleep(WAIT_TIME)
        play_time_new = get_played_time(self.driver)
        #print play_time_new
        time_range = time_range_for_audio(play_time_old, play_time_new)
        assert time_range >= 11
        print u'Step %s:将客户端压后台后音频继续播放测试:OK' % (str(step))