java - 如何在 IE 中使用 selenium 记录测试用例

标签 java javascript internet-explorer selenium selenium-webdriver

我是 Selenium 的新手。

我的应用程序只兼容 IE。

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

最佳答案

我们已经实现了我们自己的记录器,它将仅用于在 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 中,也可以创建一个记事本文件。

希望对你有帮助....

关于java - 如何在 IE 中使用 selenium 记录测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25355022/

相关文章:

internet-explorer - IE 切断文本的右侧

java - JSF/Primefaces 数据表和排序问题

java - 从 Java 随机访问 VB6 二进制数据

java - 将大的 2^63 十进制转换为二进制

javascript - Ajax 单独追加数组数据

javascript - Javascript json 中的反斜杠与正斜杠

javascript - 我可以在创建实体工作流步骤表单上有一个加载脚本吗?

internet-explorer - 如何从 IE 获取代理设置?

java - Tic Tac Toe java 抽奖游戏

java - 在 ArrayList 中创建唯一项的 ArrayList