zoukankan      html  css  js  c++  java
  • 测试HTML5语言实现的视频播放器

    获取HTML5语言实现的视频播放器视频文件的地址、时长,控制播放器进行播放或暂停播放等操作。

    #!usr/bin/env python  
    #-*- coding:utf-8 -*-  
    #测试HTML5语言实现的视频播放器
    
    import unittest
    from selenium import webdriver
    import time
    
    class TestDemo(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Chrome()
    
        def test_HTML5VideoPlayer(self):
            url = 'http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_video_simple'
            #访问HTML5语言实现的播放器网页
            self.driver.get(url)
            #打印访问网页的页面源代码,供读者学习
            print(self.driver.page_source)
            #获取页面中的video标签元素对象
            videoPlayer = self.driver.find_element_by_tag_name('video')
            #使用JavaScript语句,通过播放器内部的currentSrc属性获取视频文件的网络存储地址
            videSrc = self.driver.execute_script("return arguments[0].currentSrc;",videoPlayer)
            #打印网页中视频存放地址
            print(videSrc)
            self.assertEqual(videSrc,'http://www.w3school.com.cn/i/movie.ogg')
            #使用JavaScript语句,通过播放器内部的duration属性获取视频文件的播放时长
            videoDuration = self.driver.execute_script
                ("return arguments[0].duration;",videoPlayer)
            #打印视频时长
            print(videoDuration)
            self.assertEqual(int(videoDuration),3)
            #使用JavaScript语句,通过调用播放器内部的play()方法来播放影片
            self.driver.execute_script("return arguments[0].play();",videoPlayer)
            time.sleep(2)
            #播放2秒后,使用JavaScript语句,通过调用播放器内部的pause函数来暂停播放影片
            self.driver.execute_script("return arguments[0].pause();",videoPlayer)
            time.sleep(3)
            #将暂停视频播放页面进行截屏,并保存为D盘的videoPlay_pause.jpg文件
            self.driver.save_screenshot('e:\videoPlay_pause.png')
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()

    说明:

           控制视频播放器的原理均需要使用JavaScript语句来调用视频播放器内部的属性和接口来完成我们想要做的操作。

  • 相关阅读:
    Directx11教程(21) 修正程序最小化异常bug
    Directx教程(28) 简单的光照模型(7)
    Directx教程(22) 简单的光照模型(1)
    Directx教程(26) 简单的光照模型(5)
    Directx教程(25) 简单的光照模型(4)
    finit 1.5 发布,/sbin/init 的服务器监控器
    MySQL 8小时问题
    DataCleaner 3.0.1 发布,数据质量分析管理
    dedecms调用其它栏目列表
    ReportPlus:在iPad上创建和使用仪表盘及报表
  • 原文地址:https://www.cnblogs.com/sleeping-cat/p/8278716.html
Copyright © 2011-2022 走看看