我在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>
答案 0 :(得分:2)
您有两个ID为business
的元素。当您调用$('#business')
时,geb将返回与给定选择器匹配的Navigator对象列表。在这种情况下,您将收到两个导航器,因为您有两个与选择器匹配的元素。要解决您的问题,请重命名两个business
元素中的一个或调用:
$('#business')[1].value('5150 Studios')