【问题标题】:Test case will only work for one loop测试用例仅适用于一个循环
【发布时间】:2017-08-22 01:24:19
【问题描述】:

我的代码在第一次迭代中执行了我想要的操作,但是当它到达“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>

【问题讨论】:

  • 请发布循环这个 HTML 的代码

标签: selenium testing automation selenium-ide


【解决方案1】:

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

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

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

如果这不起作用,我会首先研究为什么你的脚本中需要这个 selectWindow。

note 我不太喜欢在 selenium IDE 测试中使用这些循环。如果你真的需要这个功能,你应该考虑从 IDE 迁移到 webdriver。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    相关资源
    最近更新 更多