所以在有人建议之前已经有计划将这个 IDE 项目迁移到 Webdriver,但这暂时不会发生。所以暂时我不得不维护这些 IDE 脚本。
我们正在我们的页面上推出一个新的 UI,我正在修复测试以使用新模型。模型在 iframe 中这是我的代码
<tr>
<td>selectFrame</td>
<td>id=iframeAuthorizeNet</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>id=txtCardNum999</td>
<td></td>
</tr>
...在模型中做一些工作
<tr>
<td>click</td>
<td>id=btnSavePaymentItem999</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>10000</td>
<td></td>
</tr>
<tr>
<td>selectFrame</td>
<td>relative=top</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>id=PageContent_page_payment_lnk</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>link=Delete</td>
<td></td>
</tr>
<tr>
<td>verifyText</td>
<td>css=button.btn.btn-red</td>
<td>Update</td>
</tr>
<tr>
<td>click</td>
<td>css=span.card-display.row > a</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>2500</td>
<td></td>
</tr>
<tr>
<td>verifyText</td>
<td>css=button.btn.btn-red</td>
<td>Add</td>
</tr>
<tr>
<td>verifyText</td>
<td>id=PageContent_page_headTitle_lbl2</td>
<td>Update Payment Information</td>
</tr>
<tr>
<td>click</td>
<td>id=PageContent_page_transactions_lnk</td>
<td></td>
</tr>
<tr>
<td>verifyText</td>
<td>id=PageContent_page_recentChargesTitle_lbl</td>
<td>Charges</td>
</tr>
<tr>
<td>openAndWait</td>
<td>${BaseURL}/aboutus.aspx</td>
<td></td>
</tr>
所以问题在于 openAndWait 这个调用总是给我一个“无法访问死对象”错误。我尝试将其更改为单击将带我进入新页面的元素,这也触发了错误。所有在这些工作正常之后调用,我什至可以看到当我看到点击命令有效并且页面导航的测试时,但它仍然被报告为“无法访问死对象”,所以我的测试似乎仍然失败。
其他一些有用的信息我只在独立服务器(2.53.1)上运行时遇到这个问题。当我通过 Firefox 插件运行测试时,一切正常。
有没有其他人遇到过这个?在我看来,这与页面更改有关。