我正在使用selenium IDE,为基于JQuery的应用程序编写测试。我以前的努力使用sendKey和类型。在该站点中,ul下拉列表中有一个输入框。
虽然使用硒:
不会在JS中触发更新标签的任何事件......
我也尝试使用runscript $('body').click();
触发某些事件,但没有成功。
<div class="lblButton optType">
<label id="lSystem" data-rule="{'id':'b10','value':10}">10</label>
<span class="arrow"></span>
<ul class="widget">
<li class="option tagV10" data-rule="{'id':'b10','value':10}">10</li>
<li class="option tagV20" data-rule="{'id':'b20','value':20}">20</li>
<li class="option tagV30" data-rule="{'id':'b30','value':30}">30</li>
</ul>
<input class="lblButtonIn" type="number" style="background-color: transparent;">123</input>
</div>
如何正确模拟更改输入值并在输入/下拉列表外单击? (我不能分享完整的js,但下面是我认为重要的部分:)
var parent = field.parent(), label = parent.find('>label');
field.bind( 'blur', function( e ) {
setTimeout( function() {
if ( field.hasClass('invalid') ) {
field.get(0).value = label.text();
field.removeClass('invalid');
}
else {
var v = field.get(0).value, r = '{\'id\':\'b'+v+'\',\'value\':'+v+'}';
label.html( field.get(0).value ).attr('data-rule',r);
}
updateGt(), $('body').click();
}, 20);