【问题标题】:how to record testcase using selenium in IE如何在 IE 中使用 selenium 记录测试用例
【发布时间】:2014-10-10 21:03:40
【问题描述】:

我是硒新手。

我的应用程序只兼容 IE。

我知道我们可以使用各自的驱动程序在任何浏览器中运行测试用例,但是有什么方法可以让我们在 Internet Explorer 中使用 selenium IDE 记录测试用例 ??

【问题讨论】:

  • 为什么在 2014 年,有人写作只是为了兼容 IE?
  • @JeremyJStarcher 一些客户只使用一个浏览器/平台,因此无需测试任何其他组合。

标签: java javascript internet-explorer selenium selenium-webdriver


【解决方案1】:

Recorder 用于 Firefox。在 ie 上使用 Firefox 回放录制。根据需要调整脚本

【讨论】:

  • 他的应用程序仅兼容,您的答案在这种情况下可能没有用
  • @VigneshParamasivam 这是正确的答案,因为 IE 没有记录器。提问者所问的根本不可能。
  • @singe31 我的意思是“在 IE 上使用 Firefox 重放记录。根据需要调整脚本”,因为 OP 提到它与 IE 不兼容,所以我们如何记录应用程序何时在 Firefox 中不起作用
  • @VigneshParamasivam 要么不记录,因为这是不可能的,要么使应用程序与其他浏览器兼容。这些是这里唯一的解决方案。
【解决方案2】:

Selenium IDE 仅在 Firefox 上可用。无法使用 Selenium IDE 在 IE 上记录您的测试。

【讨论】:

    【解决方案3】:

    我们已经实现了自己的记录器,仅用于在 Internet Explorer 中进行记录。这是一个javascript文件。

    概念是在网页GUI的源代码中为每个对象添加监听器。 下面的代码可以帮助您做到这一点。加载页面后,将添加这些侦听器。当你执行点击动作时,它的所有属性都会被捕获。

    这里我给出了一个添加监听器和获取“SELECT”类型对象的属性的例子,你可以对其他类型的对象做同样的事情。

        var added_MClistener = false;     
        var tagn = dObj.tagName;    
                if(tagn == "SELECT")
                      {
                         dObj.attachEvent("onchange",so_showObjInfo);
                         dObj.added_OClistener = true;
                         dObj.so_prevBGColor = alll[i].style.backgroundColor;
                    }
                if(tagn != "OPTION" && tagn != "SELECT" )
                  {  
                dObj.added_MClistener = true;
                 dObj.attachEvent("onclick",so_showObjInfo);
                 dObj.so_prevBGColor = alll[i].style.backgroundColor;
                 }
        function so_showObjInfo(e) {
    
        if(pause)return;
         if(isActive)return;
    var preE = e;
        var e =e? e:window.event;
    var ele=e.target?e.target:e.srcElement;
    
        activeObj = ele;
        var eltagn= activeObj.tagName;
    var currentNode=activeObj;
        var path=[];
    while(currentNode){var pe=getNode(currentNode);if(pe){path.push(pe);if(pe.indexOf('@id')!=-1)break;}currentNode=currentNode.parentNode;}var xpath="//"+path.reverse().join('/');
        var fff=0;
        var xpath;
        while(currentNode){var pe=getNode(currentNode);if(pe){path.push(pe);if(pe.indexOf('@id')!=-1){fff=1; break;}if(pe.indexOf('@name')!=-1){fff=1; break;}}currentNode=currentNode.parentNode;}if(fff==1){xpath="//"+path.reverse().join('/');}
    
       var acurrentNode=activeObj;
        var apath=[];
        while(acurrentNode){var ape=agetNode(acurrentNode);if(ape){apath.push(ape);}acurrentNode=acurrentNode.parentNode;} var axpath="//"+apath.reverse().join('/');
    var el=activeObj;
         var cssPath = cssselect(el);
         if (cssPath!=null)
         {
         cssPath="css="+cssPath;
         }
         var objval=activeObj.value;
         var objname=activeObj.name;
        var objidd=activeObj.id;
    }
    

    这样我们就可以给网页上的对象添加监听器并获取它们的属性。现在由您决定下一步该做什么。您可以像我们一样将其写入 Excel(以特定格式),也可以创建记事本文件。

    希望对你有帮助....

    【讨论】:

    • 如何使用这个?
    猜你喜欢
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2012-10-09
    • 1970-01-01
    • 2012-06-15
    • 2021-09-05
    • 2020-01-08
    相关资源
    最近更新 更多