初识selenium(一)

  Selenium是一套完整的web应用程序测试系统,它包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。

  Selenium所采用的原理实际上就是通过录制应用程序所点击产生的系列操作进行回放,达到自动化测试的目的。其实还有很多录制/回访工具,但selenium是开源的,便于对其进行学习,掌握以及应用。Selenium支持多语言,比如Java,python(现在应用趋势很火爆,做数据分析,python爬虫)等。它测试直接在浏览器中进行。

  当然也还有其他自动化测试工具,因为开源,便于进行研究,扩展。

  Selenium有4款工具:

  Selenium Core:支持DHTML的测试案例,是Selenium IDE和Selenium Remote Control的引擎。

  Selenium IDE:Firefox的一个插件,支持脚本录制。

  Selenium Remote Control:支持多种不同的编程语言编写自动化测试脚本,通过Selenium RC的服务器作为代理服务器来访问应用,其大致流程为:

  测试用例通过HTTP请求建立与Selenium RC Server的连接,然后Selenium RC Server驱动浏览器来把Selenium Core加载入浏览器页面中,将浏览器的代理设置为Selenium RC Server的HTTP Proxy。在用例执行时向Selenium RC Server发送HTTP请求,Selenium RC Server对请求进行解析,通过HTTP Proxy发送JS命令通知Selenium Core执行操作浏览器的动作并注入JS代码。Selenium Core执行接收到的指令并进行操作。浏览器在接收到新的请求时,发送HTTP请求。Selenium RC Server接收到浏览器发送的请求之后,对请求进行重组,获取相应的web页面。最后Selenium RC Server中的HTTP Proxy将接收到的页面返回给浏览器。

  Selenium Grid:允许同时并行,在不同环境上运行多个测试任务,极大的加快web应用的功能测试。

  还包括有Selenium WebDriver,提供web自动化所需的API,主要用作浏览器控制、页面元素选择和调试,不同浏览器有不同的WebDriver。

  可以通过Selenium IDE来在Firefox上进行脚本录制,通过fire debug来辅助定位具体的元素,使用Selenium Remote Control来进行脚本的修改。

  当然了,基于selenium可以开发出具有个人特色的自动化测试框架。编写一个自动化测试框架要考虑的东西有很多,主要是对测试工具应用的得心应手,也要考虑其他方面:测试用例的设计(具有可复用性)、测试结果统计分析(以邮件还是文档进行发送)、日志的打印及调用、脚本开发采用的语言(框架的构建)等。

posted @ 2018-03-20 21:44  在旅途上追忆寻梦  阅读(308)  评论(2编辑  收藏  举报