我在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/