jquery - Geb测试:缺少表单元素

标签 jquery grails gsp geb

我在Grails应用程序中进行了Geb测试,该测试完全错过了form元素。我看着测试运行,元素本身根本没有填充或运行。我可能做错了什么?

表单元素GSP:

<div class="form-group">
    <label id="business" class="col-sm-2 control-label topsidelabel" for="business">Business</label>
    <div class="col-sm-4">
        <label id="business-label" class="toplabel" for="business">Name</label>
        <g:textField id="business" name="business" maxlength="50" class="form-control" value="${....business}" aria-labelledby="business-label"/>
    </div>
</div>

Geb测试选择器(2种不同尝试):
$('#business').value('5150 Studios')
$("form").business == "5150 Studios"

表单HTML:
<div class="form-group">
    <label id="business" class="col-sm-2 control-label" for="">Business</label>
    <div class="col-sm-4">
        <label id="Name-label" class="toplabel" for="Name">Name</label>
        <input type="text" name="business" maxlength="50" class="form-control" value="" id="business" />
    </div>
</div>

最佳答案

您有两个ID为business的元素。调用$('#business')时,geb将返回与给定选择器匹配的Navigator对象列表。在这种情况下,您将收到两个导航器,因为您有两个与选择器匹配的元素。要解决您的问题,请重命名两个business元素之一或调用:

$('#business')[1].value('5150 Studios')

关于jquery - Geb测试:缺少表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27904924/

相关文章:

javascript - 将 HTML 添加到元素的末尾。没有错误;没有添加 HTML

jQuery:动画文本颜色

javascript - 显示/隐藏 div 以使用 jquery 进行过滤

grails - 使用 run-web 运行应用程序时从 webflow 解析 View

json - 通过gsp中的变量访问JSON

grails - 在 View 中看不到从grails Controller 传递的值

php - Jquery刷新div

java - Grails 替换一对一关联中的对象

java - STS Grails 兼容性

javascript - 是否可以在 grails 中使用 jquery 设置隐藏字段值?