Selenium -- WEB层面的自动化测试工具

发表于:2010-07-07来源:作者:点击数: 标签:seleniumSelenium工具自动化web
Selenium -- WEB层面的自动化 测试工具 软件测试 Selenium是由THOUGHWORKS公司 开发 的基于WEB层面的 自动化测试 工具。它是由JAVASCRIPT开发的,支持PYTHON,RUBY,C#,JAVA, PHP ,PERL 等多种语言。它有三部分组成,Selenium-IDE:应用层录制工具;Seleniu

  Selenium -- WEB层面的自动化测试工具 软件测试

  Selenium是由THOUGHWORKS公司开发的基于WEB层面的自动化测试工具。它是由JAVASCRIPT开发的,支持PYTHON,RUBY,C#,JAVA,PHP,PERL 等多种语言。它有三部分组成,Selenium-IDE:应用层录制工具;Selenium-RC(Remote Controller):支持不同语言的客户端驱动,包含Selenium-SERVER;Selenium-core,主要为JAVASCRIPT核心代码,对于selenium的功能扩展有帮助。

  一般使用selenium选择TestNG or Junit框架,因为这两个框架都能和selenium,ANT很好的结合,并且都提供ResultReport的功能。准备好Selenium-RC,Junit(TestNG),我们的自动化之旅开始了。

  这里有个之后会影响测试的BUG先解决掉,在Selenium1.0中对网页弹出窗口无法捕捉,我们怎么做呢?

  在selenium-server.jar中core文件夹下scripts文件下的selenium-browerbot.js中修改如下的JS代码:

var newOpen = function(url, windowName, windowFeatures, replaceFlag) {
       var myOriginalOpen = originalOpen;
       if (isHTA) {
           myOriginalOpen = this[originalOpenReference];
       }
       if (windowName == "" || windowName == "_blank") {
           windowName = "selenium_blank" + Math.round(100000 * Math.random());
           LOG.warn("Opening window '_blank', which is not a real window name. Randomizingtarget to be: " + windowName);
       }
       var penedWindow = myOriginalOpen(url, windowName, windowFeatures, replaceFlag);
       LOG.debug("window.open call intercepted; window ID (which you can use with selectWindow()) is \"" + windowName + "\"");
       if (windowName!=null) {
           openedWindow["seleniumWindowName"] = windowName;
       }
       selenium.browserbot.openedWindows[windowName] = openedWindow;
       return openedWindow;
   };

  转为:

var newOpen = function(url, windowName, windowFeatures, replaceFlag) {
       // var myOriginalOpen = originalOpen;
       //var myOriginalOpen = window.open;
         if (isHTA) {
           // myOriginalOpen = this[originalOpenReference];
         }
         if( !windowFeatures )
         {
         windowFeatures = null;
         }
         if( !replaceFlag )
         {
         replaceFlag = null;
         }

         var penedWindow = null;
         if( !windowFeatures && !replaceFlag )
         {
           openedWindow = this.window.open(url, windowName);

原文转自:http://www.ltesting.net