我正在使用Geb编写一个脚本,该脚本将使用随机输入多次测试调查,以确保没有任何中断。我想迭代表单上的每个输入,并根据输入类型执行不同的操作。
例如:
while ($("form").find("input", j)) {
if($("form").find("input", j) == "checkbox"){
//check it sometimes
}
else if($("form").find("input", j) == "select"){
//select a random option
}
j++
}
我还不确定该调查是如何运作的,所以我宁愿沿着人的方式走下页面而不是先做所有复选框,然后再选择所有选项等等。我可以检查一下像我的例子那样的输入类型?
另外,我注意到我正在重复$("表格")。find("输入",j)。我可以将它变成jQuery中的变量吗?
答案 0 :(得分:2)
只需在导航器中收集所有input
和select
并迭代所有这些内容。使用is(String tagName)
检测选择元素,使用@type
属性访问器检测其他元素类型:
def form = $("form")
def formElements = form.find("input") + form.find("select")
formElements.each { Navigator element ->
if (element.is("select") {
//select a random option
}
if (element.@type == "checkbox") {
//check it sometimes
}
}