如何在Selenium IDE中读取所有下拉列表值

时间:2014-03-13 07:08:27

标签: selenium automated-tests testng selenium-ide

如何阅读Selenium IDE中所有下拉列表的值?

我有一个下拉列表,其中包含值(例如日期),我需要选择每个值并单击提交按钮并再次生成报告选择下一个值...循环继续直到下拉值结束。

如何使用Selenium IDE执行此操作?

2 个答案:

答案 0 :(得分:1)

您可以使用循环,循环将循环显示下拉列表中的选项。

    List<WebElement> dropdown = driver.findElements(locator));

    for(WebElement t : dropdown) {

        String valueText = t.getText(); 
        Select value = new Select(driver.findElement(locator);
        value.selectByVisibleText(valueText);

            buttonSubmit.click;
            }

答案 1 :(得分:1)

在Selenium-IDE中优雅地实现这一点有点棘手。作为Apjuh mentioned,循环将是选择每个值的最佳方式。不幸的是,Selenium-IDE默认没有任何流控制命令。这里有两种选择:

1)手动实现循环的每次迭代。不推荐。

2)下载并安装Selenium-IDE的Flow Control插件。我自己没有使用它的经验,但我现在可以尝试一下并报告结果。

从那里开始,应该可以构建一个完成你需要做的循环。

编辑:在过去半小时内与Selenium-IDE展开激烈竞争之后,我只能得出结论,Selenium-IDE可能不是这里工作的最佳工具!以下命令可以成功模拟for循环:

store | 0 | i
label | loopStart
getEval | alert("i = " + storedVars.i)
store | javascript{storedVars.i++;}
gotoIf | storedVars.i < 4 | loopStart

...但是使用下拉框(例如选择索引i处的选项)使其发挥得很好,这证明是有问题的,并且最终对于应该是一项简单的任务来说太麻烦了。如果可能的话,我认为值得研究Selenium WebDriver,这将允许使用实际代码。使用C#,Apjuh的答案可以很好地完成这项工作,而且我想他到达目前并不需要半个小时!