自动化测试-如何在Selenium IDE中读取下拉列表的所有值



如何在Selenium IDE中读取下拉菜单的所有值?

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

我怎么能做到这一点与硒IDE?

你可以使用一个循环,循环将遍历下拉菜单中的选项。

    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;
            }

要在Selenium-IDE中优雅地实现这一点有点棘手。正如Apjuh所提到的,循环是选择每个值的最佳方式。不幸的是,默认情况下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的答案将完美地执行这项工作,我想他不会花半个小时就能做到这一点!

最新更新