grails - 在Geb中选择随机下拉值

标签 grails automated-tests geb

我想在测试中选择一个随机的HTML选择选项,但是这些选项是动态生成的,在运行测试时它们的ID不一定很清楚。

我正在使用页面对象和内容DSL(实际上只是将表单定义为form { $("form") },否则会遇到问题),而且我知道可以为form.dropdown控件分配特定的ID或文本值,但是我不确定最简单的方法是什么获取此下拉列表的所有下拉值ID(或更好的是它们到名称的映射)列表的方法。

到目前为止,我仅尝试检查form.dropdown的类型,但是它报告为ArrayList并且包含空值,因此不是很有用。

我已经阅读了Geb指南,但在相关章节中却找不到一个好的解决方案:

http://www.gebish.org/manual/current/all.html#setting_values

FWIW我在Firefox WebRunner中使用Groovy / Grails。

最佳答案

不确定是否有“垃圾”处理方法,但是您可以使用选择器来获取值和标签

$('form select[name="dropdown"] option').each {
        println it.text() + ' :: ' + it.value()
}

关于grails - 在Geb中选择随机下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108924/

相关文章:

grails - 将 Grails 3.1.1 部署到 Heroku

grails域类验证器+根据字段值设置唯一约束?

python - Robot Framework 中相互依赖测试的自动失败/不执行

grails - 在一个GebReportingSpec中驱动两个不同的浏览器?

spring - 在grails应用程序中多次触发Datasource.groovy(第二次调用时抛出异常)

grails - 在Grails中实现 self 引用的一对多关系的最佳方法是什么?

maven - Jenkins 不执行 mvn 命令后的最后一个命令

unit-testing - 如何使用 .Net Core 和 coverlet 查看友好的单元测试报告?

testing - 我可以在没有 Grails 或 Gradle 或其他任何东西的情况下使用 Spock 和 Geb 吗?

grails - '$'的页面组件模板 'ApplicationSummaryPage'的定义无效,参数必须是Closure或Map and Closure