Selenium是一系列基于Web的自动化工具,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。具有如下特点:
- 多浏览器支持。如IE、Firefox、Safari、Chrome、Android手机浏览器等。
- 支持多种语言。如Java、C#、Python、Ruby、PHP等。
- 支持多种操作系统。如Windows、Linux、IOS、Android等。
- 开源免费。官网:http://www.seleniumhg.org/
Selenium组成部分
一、Selenium IDE
该工具是一个用于构建脚本的初级工具,其实是FireFox的一个插件,拥有一个易于使用的界面。它拥有记录功能,能够记录用户执行的操作,并可以导出为可重复使用的脚本。如果没有编程经验,可以通过Selenium IDE来快速熟悉Selenium的命令。较少使用。
二、Selenium RC
Selenium RC是selenium家族核心部分。Selenium RC支持多种不同的语言编写自动化测试脚本,通过SeleniumRC的服务器作为代理服务器去访问应用,从而达到测试的目的。
三、Selenium WebDriver
当Selenium2.x提出了WebDriver的概念之后,它提供了完全另外的一种方式与浏览器交互。那就是利用浏览器原生的API,封装成一套更加面向对象的SeleniumWebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了Selenium WebDriver要分浏览器厂商不同,而提供不同的实现。例如Firefox就有专门的FirefoxDriver,Chrome就有专门的ChromeDriver等等。(甚至包括了AndroidDriver和iOS WebDriver)
四、Selenium Grid
Selenium Grid通过在许多服务器上同时运行测试,将Selenium Remote Control带到另一个层次,从而减少了测试多个浏览器或操作系统所需的时间。
这里借助Selenium WebDriver,以滴滴云控制台的默认选中为例展示Selenium如何解放测试人员的双手。
<