selenium的原理及其发展史
Selenium1 介绍 ThoughtWorks的测试人员为了减少手工测试,实现了一套基于javaScript语言的代码库,可分为Selenium IDE 、Selenium RC和Selenium Grid 其中 Selenium IDE是Firefox的插件,负责录制和回放脚本, Selenium Grid在不同的环境以并发的方式执行脚本,来缩短测试时间。 Selenium RC支持多浏览器、不同的汇编语言, 由于自身的是实现机制, selenium无法突破浏览器的沙盒限制(JavaScript的安全机制——同源策略,外部引用的JavaScript文件URL和当前网页的域名不一致,浏览器会拒绝只想此JavaScript文件中的代码),以至于很多场景无法实现。 Selenium2的介绍 Selenium1+webdriver Webdriver 直接让测试工具调用浏览器和操作系统的本身提供的内置方法。更好的模拟真实环境。而且绕过JavaScript的沙盒限制,所以将这2个项目进行了合并。 Webdriver的原理。 由于客户端脚本 (java, python, ruby)不能直接与浏览器通信,这时候可以把WebService(实际上就是浏览器厂商提供的driver, 比如IEDriver, ChromeDriver,它们都实现了WebDriver's wire protocol