上次说的内容总结:
自动获取前端性能数据,以百度首页为例,写一个简单的脚本。 代码如下:
ChromeDriver
谷歌浏览器的普通启动:
谷歌浏览器加载插件启动:
谷歌浏览器加载用户配置启动:
利用ChromeDriver Service 设置启动参数:
InternetExplorerDriver
普通启动
自定义端口启动
IE 9以上版本兼容
关闭保护模式
利用InternetExplorerDriver Service 设置启动参数
理想:
建一个核心处理driver的工厂
Driver的继承关系
开始封装—建立Driver工厂(框架1)
1、 构建DriverFactory的必要性
2、 步骤:a、分离、独立(解耦)b、参数化 c、多态
3、 单例模式介绍
driver工厂封装代码(利用单例模式拿到一个driver):
单例模式的几种写法:
懒汉模式:线程不安全 解决方法:只要有线程进到这个方法了,其他就让它在外面等着,加线程同步(线程锁):性能差
加线程同步(线程锁):性能差
类加载的时候创建对象,返回。
这样做的不好的地方就是,可能别的方式会导致类加载,new出一个不想要的对象来
双线程锁
Volatile:每次都去获取这个对象最新的状态
这种方式判断了两次,即避免了等待,又提高了性能
Driver常用的方法(浏览器相关的操作)
Webdriver应用(一)视频中涉及到Java io流的一些知识,等复习完Java io流再回过头来看这块的内容,暂时先理解着。
将一串字符串写到某个路径指定的文件里,代码如下:
WebElement
处理input 文本框
a链接,处理多窗口弹出
Select 处理下拉列表
获取下拉列表中所有option的对象,遍历后,一个一个拿option的值
处理单选
处理多选
处理按钮
作业: