[英]how to record testcase using selenium in IE
我是硒的新手。
我的应用程序只与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中编写它,也可以创建记事本文件。
希望能帮助到你....
Selenium IDE仅适用于Firefox。 现在可以使用Selenium IDE在IE上记录您的测试。
记录器适用于Firefox。 使用Firefox重放即可记录。 根据需要调整脚本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.