这是一个令我非常困惑和沮丧的问题,我希望有人可以帮助我。我正在进行一个Geb测试,它会点击一个选中状态列表。我正在对本地xml数据库模型运行测试。我已经将State的值设置为等于一个值(在本例中为102722),该值在我的xml数据库和Firebug中都是通过我的同事已加载的状态值表。所以我知道这两个地方的价值都是一样的 - 我已经多次仔细检查了这一点。在这个例子中,我总共写了4种不同的方法,但Geb选择器仍然会在每个方法上返回此错误。我已经做了我知道如何做或看的所有事情,并且真的很珍惜这方面的帮助。非常感谢你。
| java.lang.IllegalArgumentException:无法选择带有文本或值的选项:102722
表格项目:
<div class="col-sm-3">
<label id="Country-label" class="toplabel" for="Country">Country<span class="required-indicator">*</span></label>
<g:select name="Country" id="Country" from="${stuff.here....}" class="form-control" required="" optionKey="id" value="${stuff.here}" aria-labelledby="Country-label"/>
</div>
<div class="col-sm-2">
<label id="State-label" class="toplabel" for=State>State<span id="StateAsterisk" class="required-indicator">*</span></label>
<g:select name="State" id="State" from="${[]}" class="form-control" optionKey="id" value="${stuff.here}" noSelection="['null':'']" aria-labelledby="State-label"/>
</div>
使用选择器进行Geb测试:
$('#Country').value(100225)
$('.div.col-sm-3').find('select', name: "Country").value(100225)
$('#State').value(102722)
$("form").State(102722)
$('.div.col-sm-2').find('select', name: "State").value(102722)
$('div.col-sm-2').find('select', name: "State").value(102722)
从Firebug呈现HTML:
<select id="State" class="form-control" aria-labelledby="State-label" name="State">
<option value="null"></option>
<option value="102722">Alabama</option>