测试用例仅适用于一个循环

时间:2017-03-28 19:46:28

标签: selenium testing automation selenium-ide

我的代码完成了我想要的第一次迭代,但是当它到达“id = username”行时,它会崩溃并出现错误: [错误] modifyWindow:窗口关闭了! [错误]当前窗口或框架已关闭!

我不明白,因为它在第一次迭代时无法正常工作,并且此页面上没有框架。

<tr>
    <td>open</td>
    <td>/workforce/Desktop.do</td>
    <td></td>
</tr>
<tr>
    <td>readCSV</td>
    <td>file://D:/Users/user/Desktop/CAON00015.csv</td>
    <td></td>
</tr>
<tr>
    <td>store</td>
    <td>2</td>
    <td>x</td>
</tr>
<tr>
    <td>while</td>
    <td>(${x}&lt;1077)</td>
    <td></td>
</tr>
<tr>
    <td>storeCellValue</td>
    <td>id</td>
    <td>${x}, 1</td>
</tr>
<tr>
    <td>echo</td>
    <td>${id}</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>${id}</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>asda</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>${id}</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>sdada</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>${id}</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>aaaaaaaa</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>${id}</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>asda</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>${id}</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>aaaaaaaaa</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=username</td>
    <td>SuperUser</td>
</tr>
<tr>
    <td>type</td>
    <td>id=password</td>
    <td>Password1</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Submit</td>
    <td></td>
</tr>
<tr>
    <td>selectFrame</td>
    <td>EntryFrame</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=ext-gen80</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>name=mainFrame</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=ext-comp-1021</td>
    <td>${id}</td>
</tr>
<tr>
    <td>click</td>
    <td>id=ext-gen21</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>css=button.resetPasswordButton</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//table[@id='ext-comp-1038']/tbody/tr[2]/td[2]/em</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>storedVars['x'] = ${x}+1</td>
    <td></td>
</tr>
<tr>
    <td>open</td>
    <td>/workforce/Desktop.do</td>
    <td></td>
</tr>
<tr>
    <td>endWhile</td>
    <td></td>
    <td></td>
</tr>

1 个答案:

答案 0 :(得分:1)

尝试添加一个selectWindow作为循环中的第一步。

我认为selenium会因为你选择mainFrame而感到困惑,但它已经不再可用了。

<tr>
    <td>selectWindow</td>
    <td>name=mainFrame</td>
    <td></td>
</tr>

如果这不起作用,我首先会在脚本中查看为什么需要这个selectWindow。

note 我不喜欢在selenium IDE测试中使用这些循环。如果你真的需要这个功能,你应该考虑退出IDE&amp;进入webdriver。

相关问题