selenium网页拉到底是一系列基于Web的自动囮工具提供一套测试函数,用于支持Web自动化测试函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较具有如下特点:
该工具是一个用于构建脚本的初级工具,其实是FireFox的一个插件拥有一个易于使用的界面。它拥有记录功能能够记录用户执行的操作,并可以導出为可重复使用的脚本如果没有编程经验,可以通过selenium网页拉到底 IDE 来快速熟悉selenium网页拉到底的命令
selenium网页拉到底 RC是selenium网页拉到底家族核心部汾。selenium网页拉到底 RC支持多种不同的语言编写自动化测试脚本通过selenium网页拉到底RC 的服务器作为代理服务器去访问应用,从而达到测试的目的
玳码以正确返回请求数据的效果。如上图RC的流程为:
5. 当浏览器收到新的请求时,发送http请求
可以获取并调用页面的任何元素自如的进行操作。由此才实现了selenium网页拉到底 的目的:自动化Web操作这种Javascript注入技术的缺点是速度不理想,而且稳定性大大依赖于selenium网页拉到底 内核对API翻译荿的Javascript 质量高低
当selenium网页拉到底2.x提出了WebDriver的概念之后,它提供了完全另外的一种方式与浏览器交互那就是利用浏览器原生的API,封装成一套更加面向对象的selenium网页拉到底WebDriver
API直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏窗口大小,启动关闭,安装插件配置证书之類的)。由于使用的是浏览器原生的API速度大大提高,而且调用的稳定性交给了浏览器厂商本身显然是更加科学。然而带来的一些副作鼡就是不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异这就直接导致了selenium网页拉到底 WebDriver
启动selenium网页拉到底RC至今为止还保留着,应該是考虑到向前兼容
Grid可以搞定这个。WebFriver要求针对浏览器选择最合适的语言来编写脚本而众所周知,程序员总是希望使用自己擅长的语言來编写脚本公司也不可能派多个脚本人员在一个项目中仅仅是为了多浏览器支持。因此我们需要一款工具,它能够把两者的优点集合起来这就是我们下面介绍的selenium网页拉到底 2.0,即selenium网页拉到底 1.0+Webdriver
selenium网页拉到底2增加了WebDriver,保持RC向前兼容WebDriver项目是由Simon Stewart创建的,它是一个非常便捷的自動化测试工具WebDriver对不同浏览器的处理方式和RC有着明显的不同,RC是不管什么浏览器都是JavaScript 来处理而WebDriver是选择浏览器最容易接受的语言来处理。仳如在IE中,C++最合适在Firefox
中, JavaScript最合适等等通过灵活选择最合适的语言来处理多浏览器,我们可以很好的回避某些浏览器对JavaScript的安全限制洏且WebDriver不仅仅具有这些能力,它还能够调用操作系统API尤其是当用户需要模拟鼠标和键盘进行真是的页面操作的时候,这项能力的作用尤为奣显
selenium网页拉到底 Grid分为版本1和版本2,并不是和selenium网页拉到底的版本1和2相对应发布的现在的selenium网页拉到底 Grid基本能支持selenium网页拉到底2 的所有功能了。两个版本原理和基本工作方式都是一样的只是版本2同时支持selenium网页拉到底1 和selenium网页拉到底2 两种协议,并且在一些小的功能和易用性上进行叻优化
传统的无Grid的模式,只能在一台机器上进行测试
selenium网页拉到底可以在上面两种方式下进行执行,第一种是每台机器都是一致的第②种是可以指定特定的浏览器或者特定的操作系统执行。
上述四个工具是selenium网页拉到底的核心工具关系如下。
除了这四个工具外还有两個工具介绍一下。
Firebug是Firefox下的一个扩展,能够方便的查看和调试所有网站语言如Html,Css等,并且能够进行JavaScript 调试
FirePath扩展FireBug的功能。能够修改、检查、生产XPath囷CSS选择定位器的功能提供自定义的XPath 值,直接在网页上测试他们的正确性FireBug一样返回你选择的元素的Xpath。XPath是用于在网页上唯一的识别元素的技术它就像HTML元素的地址,比如check boxes、text或div等在selenium网页拉到底里,有人认为XPath
是最值得信赖的定位器之一
|