[英]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.