我需要使用Selenium来自动化测试,其中包含复选框,下拉列表和文本框。跌落目前是一个问题。似乎问题是Selenium无法识别录音中的元素。我已经研究过这个主题,但找不到任何不涉及大量编码的解决方案。出于工作目的,我只能使用IDE。
我尝试了最后一个解决方案:Selecting a drop-down option using Selenium IDE
但它没有用。我尝试过click,select和sendkeys命令。最佳命令似乎是单击,单击下拉列表并显示选项。我无法弄清楚如何选择该选项。当我点击下拉列表时,我在Selenium中获得以下内容:
xpath=(//button[@type='button'])[15]
点击选项后:
//div[12]/div/ul/li[7]/a/span
使用firebug后,我看到下拉代码为:
<button class="btn dropdown-toggle selectpicker btn-default" type="button" data-toggle="dropdown" title="--Select Value--">
我该怎么做?当我只针对下拉列表执行较小的测试时,它会起作用,然后在我在较大的测试中执行它后的第二天它就会失败。
答案 0 :(得分:0)
我错过了解释中的一些细节,但听起来你的下拉菜单并不是一个真正的下拉菜单,而是一个按钮,点击后会显示带有大量链接的div,你就是应该点击。所以我建议这样的事情:
单击按钮。
Command: click
Target: xpath=(//button[@type='button'])[15]
等待//div[12]/div/ul
出现。
Command: waitForVisible
Target: //div[12]/div/ul
点击链接选择该选项:
Command: click
Target: //div[12]/div/ul/li[7]/a/span
注意:在上述所有情况下,我都使用了您提供的xpath,但实际上避免使用索引,而是查看是否可以通过某些属性识别该路径,例如: @id
或@class
。它适用于按钮,ul
和其他所有内容。索引是真正找到元素的最糟糕的方法,并且只应在没有其他可能的情况下使用(通常不是这样,例如按钮总是有标签)