我想使用 selenium 来测试我的网络应用。
它有效...但是......
对于确认对话框,我重写了方法
function confirm(text,cbk) {
$.prompt(text,{
buttons:{Ok:true, Cancel:false},
opacity: 0.3,
overlayspeed: 'fast',
promptspeed: 'slow',
callback: function(v,m){
if(v){
cbk.call();
}
else{
}
}
});
}
我使用了 jquery ,插件 Impromptu 用于确认框的图片。
我用Selenium IDE记录我的测试。 在我开始测试并且测试失败之后。 测试是“点击链接,应该出现对话框(即兴风格),之后我想按”确定“”
这是测试的代码
<!-- login page -->
<tr>
<td>open</td>
<td>/demoit/action/Home</td>
<td></td>
</tr>
<!-- inser the username and the password -->
<tr>
<td>type</td>
<td>user_name</td>
<td>tommaso</td>
</tr>
<tr>
<td>type</td>
<td>pass_word</td>
<td>pwdtommaso</td>
</tr>
<!-- click in the login image that call a script for login -->
<tr>
<td>clickAndWait</td>
<td>css=body > div:nth(2) > p > img</td>
<td></td>
</tr>
<tr>
<td>chooseCancelOnNextConfirmation</td>
<td></td>
<td></td>
</tr>
<!-- click on exit link -->
<tr>
<td>click</td>
<td>css=#mycontentheader > table > tbody > tr:nth(1) > td:nth(1) > table.entrata > tbody > tr > td > a > img</td>
<td></td>
</tr>
<tr>
<td>assertConfirmation</td>
<td>Do you want to exit?</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>jqi_state0_buttonOk</td>
<td></td>
</tr>
这是由 Selenium IDE 生成的。
有什么问题?
请帮助我,
此致
托马索
答案 0 :(得分:2)
这可能是一个时间问题。您需要让selenium等待对话框出现在assertConfirmation
之前。另外我怀疑调用只是真正的JS弹出窗口,而不是jQuery风格的'假'弹出窗口,它们不是真正的模态,所以你应该使用普通的断言。