【问题标题】:How to verify Dynamic drop down values in Selenium WebDriver?如何验证 Selenium WebDriver 中的动态下拉值?
【发布时间】:2014-05-13 01:59:16
【问题描述】:

目前正在开发 Selenium WebDriver 并使用 Java 编写脚本。

我已将 db 的所有下拉值存储在属性文件中,并且想要比较相同的值是否在 UI 中与在 DropDown 选项中一样。

例如,我有一个名为 Project,Product 的下拉列表,它在下拉列表中包含 400 多个项目中的许多选项。如果包含任何新项目,它也会添加到下拉列表中。

在这种情况下,我如何验证选项在 UI 中是否匹配。

【问题讨论】:

    标签: java jquery selenium selenium-webdriver webdriver


    【解决方案1】:

    我假设您可以弄清楚如何将属性文件中的引用值检索到您的 Java 代码中。一些指针,如果您的属性文件是 key=value 格式:Property.loadProperty.getProperty()

    加载属性后:

    • 查看页面的来源。 (使用类似于 Chrome 中的“检查元素”选项)通常下拉值将是 <li>s 在 <ul> 下。
    • 使用 Chrome 中的 X-Path Helper 插件获取 li 元素的 Xpath
    • 假设 Xpath 是 //*[@id='some-id']/some-paths/ul/li
    • 获取子元素列表为List<WebElement> x = driver.findElements(By.xpath(//*[@id='some-id']/some-paths/ul/li));
    • 现在使用for (WebElement x1 : x) { //do something with x1 } 循环遍历列表。
    • 使用类似x1.getText()x1.GetInnerHTML()(取决于您的页面来源)来获取下拉菜单的文本。
    • 根据您的参考值进行基本字符串匹配。

    这只是一个基本准则。您可以对此进行修改和优化。

    【讨论】:

    • 您能否提供一些该场景的示例代码
    • 相信鉴于以上回复的内容,剩下的你自己就可以搞清楚了。到目前为止,您尝试过什么,您在哪里卡住了?
    • 我看到你发布了another question,这与这个类似。如果您认为我上面的回答足够,请将其标记为答案,以便可以关闭此问题。
    • 两者是不同的问题。在这个问题中,我询问了下拉列表的验证。在那个问题中,我问过关于选择一个选项的问题。
    猜你喜欢
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多