webdriver高级应用- 测试HTML5语言实现的视频播放器
能够获取HTML5语言实现的视频播放器,视频文件的地址、时长,控制播放器进行播放或暂停播放等操作。
#encoding=utf-8
import unittest
from selenium import webdriver
import time class TestDemo(unittest.TestCase):
def setUp(self):
# 获取浏览器驱动实例
#self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")
#self.driver = webdriver.Firefox(executable_path = "e:\\geckodriver")
self.driver = webdriver.Chrome(executable_path = "E:\\chromedriver")
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 属性获取视频文件的网络存储地址
videoSrc = self.driver.execute_script\
("return arguments[0].currentSrc;", videoPlayer)
# 打印网页中视频存放地址
print videoSrc
# 断言视频存放地址是否符合预期
self.assertEqual(videoSrc, "http://www.w3school.com.cn/i/movie.ogg")
# 使用JavaScript语句,通过播放器内部的
# duration属性获取视频文件的播放时长
videoDuration = self.driver.execute_script\
("return arguments[0].duration;", videoPlayer)
# 打印视频时长
print videoDuration
# 对获取到的视频时长取整,然后断言是否等于3秒
#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)
# 暂停3秒,以便人工确认视频是否已被暂停
time.sleep(3)
# 将暂停视频播放页面进行截屏,并保存为D盘的videoPlay_pause.jpg文件
self.driver.save_screenshot("e:\\videoPlay_pause.jpg")
self.driver.execute_script("return arguments[0].play();", videoPlayer)
time.sleep(3)
def tearDown(self):
# 退出浏览器
self.driver.quit() if __name__ == '__main__':
unittest.main()
说明:控制视频播放器的原理均需要使用JavaScript语句来调用视频播放器内部的属性和接口来完成我们想要做的操作。
webdriver高级应用- 测试HTML5语言实现的视频播放器的更多相关文章
- webdriver高级应用- 在HTML5的画布元素上进行绘画操作
#encoding=utf-8 import unittest from selenium import webdriver import time class TestDemo(unittest.T ...
- HTML5 自制本地网页视频播放器
HTML5初试:本地视频用网页打开啦半个广告都可以没有,看来暴风什么的快要淘汰了. 视频格式还是有要求的,看来要备一个转码器. 格式 IE Firefox Opera Chrome Safari Og ...
- HTML5视频(自定义视频播放器源码)
video对象 兼容情况: safari浏览器不支持webm格式 Chrome浏览器支持webm格式 ie8以及以下不支持video标签 , ie9支持video标签 ,但是支持mp4格式的 Fire ...
- WebDriver高级应用实例(10)
10.1控制HTML5语言实现的视频播放器 目的:能够获取html5语言实现的视频播放器视频文件的地址.时长.控制进行播放暂停 被测网页的网址: http://www.w3school.com.cn/ ...
- Selenium WebDriver高级用法
Selenium GitHub地址 选择合适的WebDrvier WebDriver是一个接口,它有几种实现,分别是HtmlUnitDrvier.FirefoxDriver.InternetExplo ...
- 测试c语言函数调用性能因素之测试三
函数调用:即调用函数调用被调用函数,调用函数压栈,被调用函数执行,调用函数出栈,调用函数继续执行的一个看似简单的过程,系统底层却做了大量操作. 操作: 1, 调用函数帧指针 ...
- JMeter ----与WebDriver安装与测试
JMeter ----与WebDriver安装与测试 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 环境与参考 jvm版本: 1.8.0_65 j ...
- JMeter (1) —— JMeter与WebDriver安装与测试(101 Tutorial)
JMeter (1) -- JMeter与WebDriver安装与测试(101 Tutorial) 主要内容 JMeter安装 WebDriver安装 一个简单的JMeter+WebDriver示例 ...
- Selenium WebDriver高级应用
WebDriver高级应用 public class Demo4 { WebDriver driver; // @BeforeMethod:在每个测试方法开始运行前执行 @BeforeMethod p ...
随机推荐
- 高效的设计可视化UI
http://www.uimaker.com/uimakerdown/uitutorial/35990.html http://maqetta.org/downloads/ .Data.js Data ...
- Kendo MVVM 数据绑定(八) Style
Kendo MVVM 数据绑定(八) Style Style 绑定可以通过 ViewModel 绑定到 DOM 元素 CSS 风格属性,例如: <span data-bind="sty ...
- 安装cadence遇到vcredist.msi找不到问题
在新装的win7 64位系统上安装cadence遇到了如下问题,最后一个群里面的大哥帮了大忙,解决办法如下: 用windowsinstallercleanup 将KB2467175清理掉再装caden ...
- CMSG_COMPAT_ALIGN函数
CMSG_COMPAT_ALIGN函数是什么的使用方法?
- (四)我的JavaScript系列:原型链
夜深风竹敲秋韵,万叶千声皆是恨. 原型链对于JavaScript来说是个很核心的概念.JavaScript不是基于类模板的面向对象语言:反而,它的面向对象机制是基于原型的.我们不可能说某个对象属于什么 ...
- 新建博客第一天,随意来一发Win8运行命令大全
1.calc:启动计算器 2.appwiz.cpl:程序和功能 3.certmgr.msc:证书管理实用程序 4.charmap:启动字符映射表 5.chkdsk.exe:Chkdsk磁盘检查(管 ...
- UVA 562 Dividing coins 分硬币(01背包,简单变形)
题意:一袋硬币两人分,要么公平分,要么不公平,如果能公平分,输出0,否则输出分成两半的最小差距. 思路:将提供的整袋钱的总价取一半来进行01背包,如果能分出出来,就是最佳分法.否则背包容量为一半总价的 ...
- 【TensorFlow入门完全指南】模型篇·线性回归模型
首先呢,进行import,对于日常写代码来说,第二行经常写成:import numpy as np,这样会更加简洁.第三行import用于绘图. 定义了学习率.迭代数epoch,以及展示的学习步骤,三 ...
- jquery.restrictFieldLength.js
1.参考资料 http://www.cnblogs.com/aarond/archive/2013/08/02/3234042.html 2.使用举例 //字符控制 $(function () { $ ...
- 在SAP C4C里触发SAP ERP的ATP check和Credit check
在C4C里创建一个新的Sales Quote: 添加三个行项目: 执行action "Request External Pricing"会从ERP更新pricing信息,触发ATP ...