selenium工具简介

通过selenium百科可知:

组件

  • Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。
  • Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE,Firefox,Opera,Safari),可以用多种语言 (Java,Ruby,Python,Perl,PHP,C#)编写测试用例。
  • Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。

使用

能把Selenium RC脚本和JUnit单元测试结合起来,既能涵盖功能测试,又能涵盖数据或后台Java类测试,从而构成一个完整的Web应用测试解决方案。
首先要安装JRE,从官网(文后参考资料)下载Selenium RC的程序Jar包,存放在硬盘的某个目录中,如E:/Selenium/ 。
启动Selenium RC服务,启动cmd模式,进入到selenium RC所在的目录后,输入: java -jar selenium-server.jar 。启动完成后,可以看到以下信息,即表示启动成功。
 
如果你想
    建立快速的bug再现脚本     创建脚本自动化辅助探索性测试,以帮助
那么你要使用Selenium IDE,一个Firefox插件,会做简单的记录回放与浏览器交互
如果你想
    创建健壮的基于浏览器的自动化回归     扩展和在许多环境中分发脚本
那么你要使用Selenium的webdriver;特定语言绑定的集合来驱动浏览器 - 是要被驱动的方式。
的webdriver正式弃用硒的远程控制的继任者。 Selenium服务器都使用的webdriver和远程控制)现在还包括内置的网格功能
Selenium IDE;   Selenium WebDriver;  Selenium Remote Control;
Selenium一套工具,以跨平台自动化的Web浏览器
奔跑在很多浏览器和操作系统
    可以通过多种编程语言测试框架来控制。

1.Selenium Core:支持DHTML的测试案例(效果类似数据驱动测试),它是Selenium  IDE和Selenium  RC的引擎。

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

        3.Selenium RC:Selenium Remote Control。后续的系列文章我会主要针对Selenium RC展开介绍。

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

1.浏览器支持

    (1).Selenium IDE仅可以在Firefox中工作。

    (2).Selenium Remote Control支持很多浏览器,包括最常用的:firefox,ie,safari等N款浏览器。

    (3).Selenium Core支持的浏览器是最广的,这点和它的实现有关。作为IDE和RC的引擎,Selenium Core几乎可以在任何浏览器中工作。

2.需要远程安装:是否需要在被测网站的服务端安装?

    这里只有Selenium Core需要,这是出于同源策略的原因。这也是Selenium Core一个很大的限制,试问,如果你要测试Google.com,还得在google的服务器上装一个Selenium Core,那是多搞笑的一件事。

    而Selenium IDE和Selenium Core HTA不会被同源策略所限制,因为他们对浏览器扩展了。

     Selenium RC提供一个代码服务器来保证Selenium JS文件看似来自相同的远程服务器,从而符合同源策略;代理服务器欺骗浏览器,让它认为这里的确有像http://www.google.com/selenium/这样的目录。

3.支持HTTPS/SSL

    这里不说了,都支持。Selenium RC在“是”后面加*因为它是在最近版本支持的,仅此而已。

4.需要Java:准确的说是需要JRE

    这项只有Selenium RC需要,上面2中所说的“代理服务器”是一个Java程序,需在跑测试案例前启动。

5.将测试结果保存到磁盘

    只有Selenium Core不能将任何测试结果写到磁盘上(因为它是用javascript写的,它不允许向磁盘写数据),其解决方案是当然你可以将测试结果发送到另外一台服务器保存。这也是Selenium Core的一大限制。

6.多语言支持

    (1).Selenium IDE仅支持Selenium语言。

    (2).Selenium RC支持很多语言,如:C#,Java,Python,Ruby等。

    (3).Selenium Core也是仅支持Selenium语言。

 (1).Selenium
IDE支持并且只支持Firefox浏览器,支持的浏览器太少,而依附于Firefox也不便于日后开展自动化测试,但是,它的录制快捷好用!并且有代码
转换功能,可以把Selenium语言测试案例转为C#,Java等语言的测试案例,我建议使用Selenium IDE +
FireBug进行测试案例的编写,然后转为其他语言的测试案例后,再调用Selenium RC运行测试案例。

  (2).Selenium Core,它的优点是编写测试案例简单,并且支持绝大多数的浏览器,但缺点也同样明显,Selenium Core需要远程安装,Selenese语言也限制了复杂案例的可能性,并且没有良好的外部扩展,这是些都会是致命的问题。因为一个款测试工具不可能 100%满足你测试需求的,当它不能满足你测试需求时候,它必须有一个扩展机制可以让你可以使用其他的方式满足你需求,否则这款测试软件即使功能强大,也 请三思慎用,否则当投入大量资源后才发现某些问题不能解决,那时候已经晚了,这是我的切身体会。

    (3).Selenium RC是我推荐使用的工具,它支持很多浏览器,可以使用C#,Java等语言编写测试案例,易于维护,同时提供了很好的扩展性,所以后续的文档我会以Selenium RC作为默认的测试工具。

 

posted on 2014-02-25 14:54  叶子的分享  阅读(498)  评论(0编辑  收藏  举报