在学习selenium的时候,在导出代码时,我常常发现自己到处的代码和网上别人导出的不一样,我一直都不明白为什么,网上也没有相关的详细文章可借鉴,今天我将自己学习selenium的过程记录下来:
要解决这个问题,首先要从什么是webdriver以及什么是selenium开始说起。
1、 我们平时所说的selenium说的都是selenium1(有名Selenium RC),他曾经有个非常强的竞争对手就是Webdriver,后来Selenium团队发布了Selenium2。Selenium2= Selenium1+webdriver,这样的组合使Selenium的功能增强了n倍,用户也可以很自由的选择自己喜欢的工具。
2、 什么是Webdriver?
WebDriver是一个用来进行复杂重复的web自动化测试的工具。意在提供一种比Selenium1.0更简单易学,有利于维护的API。它没有和任何测试框架进行绑定,所以他可以很好的在单元测试和main方法中调用。一旦创建好一个Selenium工程,你马上会发现WebDriver和其他类库一样:它是完全独立的,你可以直接使用而不需要考虑其他配置,这个Selenium RC是截然相反的。
3、 Selenium1.0的缺点?
Selenium1.0不能处理一下事件:
1) 本机键盘和鼠标事件
2) 同源策略XSS/HTTP(S)
3) 弹出框,对话框(基本身份认证,自签名的证书和文件上传/下载)
4、 Selenium2有什么好处?
当这两个框架被合并后,一个框架的缺陷被另一个框架所弥补。WebDriver对浏览器的支持需要对应框架开发工程师做对应的开发;同样Selenium必须操作真实浏览器,但是WebDriver可以HTML unit Driver来模拟浏览器,在内存中执行用例,更加的轻便。Selenium1.0解决了自动化测试中的一些常见问题,WebDriver更好的解决了沙箱限制。WebDriver不支持并行,但是Selenium Grid解决了这个问题。