如何在Selenium IDE中处理数组

时间:2012-11-03 13:46:32

标签: javascript arrays selenium selenium-ide

我想将电子邮件从网页导出到Selenium以供稍后测试。要检查这些电子邮件是否与以后的电子邮件相同,请在选择中显示。

我找到了一种在while循环中读取它们的方法。这就是为什么我必须处理IDE中的数组,我不知道如何做到这一点。

我试过这样,但它不起作用:

store | 0 |i
store | 17 | line
storeElementPresent | //html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbod/tr[${line}]/td[3]/a |adresseDa
while | ${adresseDa}!='0' 
storeEval | javascript{new Array()} | array
storeText | //html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbody/tr[${line}]/td[3]/a | mail
storeEval | storedVars.array[storedVars.i]=storedVars.mail 
echo | ${array}
storeEval | storedVars.line++
storeEval | storedVars.i++
storeElementPresent | //html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbod/tr[${line}]/td[3]/a | adresseDa
endWhile

echo | ${array}重演null。显然它不会这样运作。

如何将电子邮件存储在数组中,以后如何访问它们?

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了解决办法:) 将邮件存储在数组中:

store   | 17    | line
storeElementPresent  |//html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbod /tr[${line}]/td[3]/a | adresseDa
while | ${adresseDa}!='0'   
storeText | //html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbody/tr[${line}]/td[3]/a  | tempMail
store   | javascript{storedVars['tempMail'].substring(7,100)} | mail
push    | ${mail}  | mailArray
echo    | ${mailArray} 
storeEval | storedVars.line++       
storeElementPresent | //html/body/div/div[4]/*/div[3]/table/tbody/tr/td/table/tbody/tr[${line}]/td[3]/a | adresseDa
endWhile 

检查数组中的电子邮件是否与以后网页上的DropDownMenu相同:

verifySelectOptions |   //*[@id="mainForm:Emailadresses"] | ${mailArray}

对于pushwhile,您可以从此处下载扩展程序:

http://51elliot.blogspot.de/2012/07/sideflow-update-selenium-ide-flow.html