Selenium TypeError死对象

时间:2014-02-13 15:09:20

标签: selenium-ide

我尝试运行以下selenium测试用例(我使用的是Selenium 2.5.0,Firefox 27),但不断收到以下错误:

[error]意外异常:TypeError:无法访问死对象。 fileName - > chrome://selenium-ide/content/selenium-core/scripts/selenium-api.js,lineNumber - > 1306,columnNumber - > 8

我在网上搜索,但只有人有类似的错误,我想知道是否有人可以提示这个问题。我按如下方式列出了我的测试用例,我的错误出现在最后一步,我尝试使用警报消息:

<tr>
    <td>selectWindow</td>
    <td>name=menu</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>xpath=(//input[@id='I-3'])[33]</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td></td>
    <td>30000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>CourseReversalDelete</td>
    <td></td>
</tr>
<tr>
    <td>selectFrame</td>
    <td>name=content</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>name=Delete</td>
    <td></td>
</tr>
<tr>
    <td>verifyText</td>
    <td>id=alertMessageText</td>
    <td>Profile Starts successfully Deleted</td>
</tr>
<tr>
    <td>click</td>
    <td>id=alertMessageButton</td>
    <td></td>
</tr>

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题(我使用的是Selenium 2.5.0,Firefox 27),并且在使用URL的多个“打开”命令时总会出现这种情况。我无法确定根本原因,但确定了一种解决方法。通过在错误发生之前分解新案例,我可以消除它。

远非理想,但认为只要我们找到根本原因就足够了。

答案 1 :(得分:-1)

我的同伴得到了一个解决方案,我们对硒背后发生的事情有所了解。它看起来不是firefox错误(https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/),我们也不能在firefox上做任何事情(我不认为更改firefox代码是一个好主意,以避免像有人推荐的问题)。我们唯一剩下的就是改变我们的项目代码以避免它。它工作正常,没有这样的错误了。我们怀疑这是由于我们的代码有警报消息对话框被命名为“确认”,这个名称被firefox用于其内部警报消息,并且它需要由Selenium使用。所以当Selenium发现这条消息时,它会立即消耗它,后来当Selenium测试用例需要点击警报meesage时,它就是一个死对象。我们的解决方案是将项目代码中的警报消息重命名为“confirmForm”,然后问题就解决了。这只是我们的猜测。我希望这个想法对其他人有所帮助。