selenium学习笔记

来源:互联网 发布:uniprotRef数据库 编辑:程序博客网 时间:2024/05/18 01:22

 

selenium学习笔记之一 实现原理

 

1.使用方式,分为IDE方式和脚本驱动方式:

IDE方式。目前只支持FireFox。是一个FireFox插件,只要录制脚本,即可进行回放,添加断言等,很方便但通用性不足(只支持FF);

脚本驱动方式之一。中间加一个Remote Control Server,Remote Control Server实质上就是开启一个Http代理服务器,它在驱动浏览器之前,会设置localhost:4444(Server自己)为浏览器的代理服务器,这样由Server驱动浏览器发出的所有请求,浏览器连接网络时又都会回到Server,Server再去请求实际的网络内容并返回给浏览器进行显示。客户端驱动脚本代码可以用多语言书写脚本,甚至脚本也不需要自己写,只需要用FireFox的IDE插件录制脚本,并以Java或者Ruby等格式保存即可,非常方便。

脚本驱动方式之二。不采用代理服务器方式,而是设置浏览器的一些安全限制,使其可以执行跨站脚本等。

脚本驱动方式实现图1 完全代理方式

参考http://seleniumhq.org/docs/05_selenium_rc.html#introduction

脚本驱动方式实现图2 设置安全策略方式

 

参考http://seleniumhq.org/docs/05_selenium_rc.html#introduction

 

 

学习笔记之二  WebDriver及其它

WebDriver是直接驱动浏览器,不需要Remote Control Server进行一层代理,它支持多种浏览器,包括Chrome、IE、FF等。而且其类库也与Selenium兼容,但不需要注入JS代码或者修改代理等方式,是增加功能的Selenium。

现在性能领域的前端性能分析平台,浏览器驱动用的就是WebDriver实现的,因此不需要用到Remote Control。

而代理,可以用来解决一个统计加载时间的问题,代理负责在返回的内容中加入初始化打点和末尾计时的JS函数,并将值添加到html文本的一个div中/或标题中,在统计模块看来,每一个返回的HTML页面都是计时过了的,统计模块的WebDriver负责读取这个值就行了。

 

WebDriver的最大好处是不需要Remote Control Server!而且可以用Java或C#等语言编写测试脚本。

示例如下:

 

 

原创粉丝点击