1、起源
2004年,ThoughtWorks的员工Jason Huggins不想让自己的时间浪费在无聊、重复的工作中;他和他的团队采用JavaScript编写了一个能驱动浏览器页面行为的JavaScript类库,这就是selenium core,同时也是seleniumRC、selenium IDE的核心组件。
有意思的是,当时的主流商业自动化测试工具是QTP mercury,mercury是汞,水银的意思,而selenium是化学元素硒,硒可以对抗汞。
从2004年到现在,selenium已经发展到了selenium3.0
2、Selenium1.0
Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC
Selenium IDE
Selenium IDE是一个嵌入到Firefox浏览器的插件,可以实现简单的浏览器的操作录制和回放功能
Selenium Grid
Selenium Grid 是一种自动化测试的辅助工具,用来分布式执行测试用例脚本(在不同的系统、浏览器上运行同一份脚本)
Selenium RC
Selenium RC(remote control)的实现原理如下:
Selenium RC = Client Libraries + Selenium Sever
其中 Selenium Sever负责控制浏览器的行为,而Client Libraries是测试人员编写测试脚本控制Selenium Sever的库。
3、Selenium2.0
Selenium2.0又名Webdriver,selenium和webdriver本来是竞争对手,两个项目合并后发布于2011年,Selenium2.0即继承了webdriver的优点(脚本直接控制浏览器,模拟用户操作)和selenium支持广泛的浏览器
Selenium 2.0 = Selenium1.0 +WebDriver
3、Selenium3.0
Selenium3.0做了许多更新:
(1)去掉了Selenium RC,Selenium 3.0 = Selenium2.0 - SeleniumRC
(2)只支持Java 8.0及以上的Java版本
(3)Selenium的FireFox驱动独立了,之前在2.0版本时下载Selenium就可以直接驱动FireFox浏览器。现在和Chrome一样,必须另外下载驱动
(4)MAC OS 集成Safari的浏览器驱动。默认在/usr/bin/safaridriver 目录下。
(5)只支持IE 9.0版本以上。