测试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语句来调用视频播放器内部的属性和接口来完成我们想要做的操作。

相关推荐