Javascript 如何使用Selenium IDE测试损坏的图像?
我在这里看到了一个示例,可以使用javascript测试损坏的图像,但提供的示例是Ruby语言。 我想我可以在Selenium IDE中使用Javascript 如何使用Selenium IDE测试损坏的图像?,javascript,selenium,automated-tests,selenium-ide,Javascript,Selenium,Automated Tests,Selenium Ide,我在这里看到了一个示例,可以使用javascript测试损坏的图像,但提供的示例是Ruby语言。 我想我可以在Selenium IDE中使用runScript命令,编写一个javascript代码来检测损坏的图像,尽管我不知道如何做 有人能提供一个代码来做这件事吗?任何形式的帮助都将不胜感激 这不是一件平常的事,但这是可能的 看看这个: 您可以使用verifyEval命令来验证javascript代码的结果。您还可以使用storeEval执行一些javascript,检索结果并在以后使用。如果只
runScript
命令,编写一个javascript代码来检测损坏的图像,尽管我不知道如何做
有人能提供一个代码来做这件事吗?任何形式的帮助都将不胜感激 这不是一件平常的事,但这是可能的 看看这个: 您可以使用verifyEval命令来验证javascript代码的结果。您还可以使用storeEval执行一些javascript,检索结果并在以后使用。如果只想使用javascript,也可以使用getEval 因此,如果您希望在页面上至少有一个损坏的图像时失败,请执行以下操作: 命令
verifyEval
getEval
目标
var allImg=window.document.getElementsByTagName("img"), i=0, img, result=true;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{}
else
{result=false;}};
result;
var allImg=window.document.getElementsByTagName("img"), i=0, img;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{img.setAttribute('tag','passed');}
else
{img.setAttribute('tag','broken');}};
值
true
或者,您可以标记所有损坏的\正常图像以对其进行计数。下面是一个例子,如果页面上超过5%的图像被破坏,该示例将失败
命令
verifyEval
getEval
目标
var allImg=window.document.getElementsByTagName("img"), i=0, img, result=true;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{}
else
{result=false;}};
result;
var allImg=window.document.getElementsByTagName("img"), i=0, img;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{img.setAttribute('tag','passed');}
else
{img.setAttribute('tag','broken');}};
然后:
storeXpathCount | //img | all
storeXpathCount | //img[@tag='broken'] | broken
verifyEval | storedVars['broken']*100/storedVars['all']>5 | true
祝你好运 这不是一件平常的事,但这是可能的 看看这个: 您可以使用verifyEval命令来验证javascript代码的结果。您还可以使用storeEval执行一些javascript,检索结果并在以后使用。如果只想使用javascript,也可以使用getEval 因此,如果您希望在页面上至少有一个损坏的图像时失败,请执行以下操作: 命令
verifyEval
getEval
目标
var allImg=window.document.getElementsByTagName("img"), i=0, img, result=true;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{}
else
{result=false;}};
result;
var allImg=window.document.getElementsByTagName("img"), i=0, img;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{img.setAttribute('tag','passed');}
else
{img.setAttribute('tag','broken');}};
值
true
或者,您可以标记所有损坏的\正常图像以对其进行计数。下面是一个例子,如果页面上超过5%的图像被破坏,该示例将失败
命令
verifyEval
getEval
目标
var allImg=window.document.getElementsByTagName("img"), i=0, img, result=true;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{}
else
{result=false;}};
result;
var allImg=window.document.getElementsByTagName("img"), i=0, img;
while (img = allImg[i++])
{if (img.complete && typeof img.naturalWidth != "undefined" && img.naturalWidth > 0)
{img.setAttribute('tag','passed');}
else
{img.setAttribute('tag','broken');}};
然后:
storeXpathCount | //img | all
storeXpathCount | //img[@tag='broken'] | broken
verifyEval | storedVars['broken']*100/storedVars['all']>5 | true
祝你好运 谢谢!这基本上回答了我的问题。有可能把它变成一个用户扩展js吗?如果是这样的话,我会怎么做?这是肯定的。但这是另一个问题:)。看看这里或单个元素:verifyEval imgElement=window.document.getElementById('my_id');imgElement.complete&&;imgElement.naturalHeight!=0 x,您可以使用任何方法检索元素(如getElementByXpath而不是getElementById)。谢谢!这基本上回答了我的问题。有可能把它变成一个用户扩展js吗?如果是这样的话,我会怎么做?这是肯定的。但这是另一个问题:)。看看这里或单个元素:verifyEval imgElement=window.document.getElementById('my_id');imgElement.complete&&;imgElement.naturalHeight!=0 x,您可以使用任何方法检索元素(如getElementByXpath而不是getElementById)。