Selenium IDE无法找到元素

时间:2015-04-15 08:10:07

标签: selenium-ide

我正在尝试在Selenium IDE中运行一个记录的测试用例。问题是,当我尝试执行整个测试用例时,Selenium会阻止它在页面上找不到元素。问题是我可以执行测试用例的单个步骤。我认为Selenium试图在加载新页面之前找到一个元素,所以我使用了clickAndWait,pause和waitForElementPresent命令 - 没有任何作用,Selenium会停止测试用例。

调试日志

•  [info] Executing: |`clickAndWait` | css=i.fa.fa-arrow-left | | 
•  [debug] Command found, going to execute clickAndWait 
•  [debug] modifyWindow seleniumMarker1429084950752:selenium1429084951105 
•  [debug] _getFrameElement: frameElement=null 
•  [debug] modifySeparateTestWindowToDetectPageLoads: already polling this window: selenium1429084951105 
•  [debug] getCurrentWindow newPageLoaded = false 
•  [error] Element css=i.fa.fa-arrow-left not found 
•  [debug] commandError 
•  [debug] testComplete: failed=true 
•  [info] Test case failed

我将非常感谢任何帮助和建议。

2 个答案:

答案 0 :(得分:1)

在某些情况下,ClickAndWait'是不可靠的,并且在转移到下一个命令之前不会等待命令完成。在这种情况下,另一种方法是使用' Click'而是使用' waitForPageToLoad'来跟进。

示例...

ORIGINAL

<tr>
    <td>clickAndWait</td>
    <td>//input[@type='submit']</td>
    <td></td>
</tr>

NEW

<tr>
    <td>click</td>
    <td>//input[@type='submit']</td>
    <td></td>
</tr>
<tr>
    <td>waitForPageToLoad</td>
    <td>10000</td>
    <td></td>
</tr>

如果这没有帮助,请发布您的源代码,我会看看是否还有其他建议。

答案 1 :(得分:0)

通过结合使用waitForElementPresent,verifyElementPresent和安装IDE的Implicit Wait插件,我发现此问题(元素尚未出现)取得了很大成功。 (https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-implicit-wait/)。我现在几乎完全能够从我的测试中删除所有“暂停”命令。

Klendathu