Geb测试:错过表单元素

时间:2015-01-12 15:02:47

标签: jquery grails gsp geb

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

表单元素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>

1 个答案:

答案 0 :(得分:2)

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

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