目前,如果说要进行web自动化 测试,首选的工具基本上都是selenium,那么selenium到底是什么呢?
1.什么是selenium
Selenium是基于WEB应用的验收测试工具集合,直接运行在浏览器中,通过一系列命令来模拟用户操作,Selenium可以将这些命令转化成实际的HTTP请求在浏览器中运行 。
关于Selenium的命名比较有意思,当时QTP mercury是主流的商业自化工具,是化学元素汞(俗称水银),而Selenium是开源自动化工具,是化学元素硒,硒可以对抗汞。
2.selenium家族族谱
从2004年至今,selenium经历了3个版本,即Selenium1.0,Selenium2.0,Selenium3.0
2.1 Selenium1.0
image简单的公式:Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC
Selenium IDE:是嵌入到Firefox浏览器中的一个插件,实现简单的浏览器操作的录制与回放功能。
Selenium Grid:selenium分布式
Selenium RC:Selenium1.0的核心,Selenium RC 支持多种不同语言编写的自动化测试脚本,在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript 翻译器来翻译和执行selenese命令(selenese 是selenium命令集合)。通过Selenium RC的服务器作为代理服务器去访问应用,从而达到测试的目的。
2.2 Selenium 2.0
Selenium2.0 = Selenium1.0 + WebDriver
Selenium 2.0的核心为WebDriver,WebDriver的工作原理是:
imageWebDriver是通过原生浏览器支持或者浏览器扩展来直接控制浏览器。WebDriver针对各个浏览器而开发,除了Firefox浏览器之外,使用其他浏览器都需要浏览器驱动,与浏览器紧密集成,因此支持创建更高级的测试,避免了JavaScript安全模型导致的限制。除了来自浏览器厂商的支持之外,WebDriver还利用操作系统级的调用,模拟用户输入。
我们在使用WebDriver时,可以看到,是先启动了浏览器driver,通过浏览器driver启动浏览器
image image2.3Selenium 3.0
selenium3.0在2.0的基础上增加了对win10系统的Edge浏览器和Mac系统Safari浏览器的支持,并且在启动Firefox浏览器时也必须使用浏览器驱动geckodriver.去掉了Selenium RC,因此selenium 3.0的学习核心也是WebDriver.
3. Selenium学习路线---从元素定位开始
需要熟悉webdriver API ,API就是selenium 所定义一方法,用于定位,操作页面上的各种元素。
网友评论