【发布时间】:2018-01-04 03:00:43
【问题描述】:
我正在使用 selenium ide 来自动化我的测试。单击链接后,我得到一个弹出窗口,其中包含一个包含文本的 div。我无法获取 div 标签中的文本,除非我双击它或单独执行命令。我尝试了以下方法,但它们似乎都不起作用:
最多等待 1 分钟; 等待元素出现,等待 1 分钟后发生事件。但找不到元素; 通过标题识别弹出窗口,但它甚至不识别窗口。
但是 waitForPopup 正在工作,但在弹出窗口中找不到元素。
这是我的代码
<tr>
<!-- this passed -->
<td>waitForElementPresent</td>
<td>//a[@id='linkTopopup']</td>
<td></td>
</tr>
<tr>
<!-- this passed -->
<td>pause</td>
<td>1000</td>
<td></td>
</tr>
<tr>
<!-- this passed -->
<td>click</td>
<td>//a[@id='linkTopopup']</td>
<td></td>
</tr>
<tr>
<!-- this passed -->
<td>waitForPopUp</td>
<td></td>
<td>30000</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@id='divHavingText']</td><!-- this is where I can't find the
element -->
<td></td>
</tr>
<tr>
<td>storeText</td>
<td>//div[@id='divHavingText']</td><!-- this is where I can't find the element -->
<td>myText</td>
</tr>
<div id='divHavingText'>
hi
</div>
有没有人知道为什么除非双击才找到元素,而不是当我自动运行整个测试用例时?
【问题讨论】:
-
可能是同步问题。您可以尝试在两者之间添加等待吗?
-
@santhoshkumar 是的。我添加了长达 1 分钟的等待时间,并且我还慢速运行了测试用例
-
我没有在 Selenium IDE 上工作过。所以不能准确地帮助你。元素是否在任何框架之间?
-
@santhoshkumar 否。如果我一一执行命令或只是双击它,实际上会找到该元素。此外,在目标中,当我单击查找时,会找到该元素。
标签: html selenium testing automated-tests selenium-ide