我为输入字段实现了以下行为:如果用户点击该字段,它会将整个输入值设置为选择;
$('.my_div input').on('click', function(event){
this.setSelectionRange(0, this.value.length);
}
);
现在我不太确定如何测试这种行为。粗略的想法是触发 单击,然后检查字段的选择。但不幸的是,我不知道如何选择当前的输入选择。
欢迎任何有关所描述行为的测试方法的提示!
答案 0 :(得分:0)
刚刚抓住选择的开始和结束,如果开始是0并且结束是输入长度,那么一切都被选中。
$('.my_div input').on('click', function(event){
this.setSelectionRange(0, this.value.length);
var start = event.target.selectionStart;
var end = event.target.selectionEnd;
if(start==0 && end==$(this).val().length)
console.log('everything is selected');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class='my_div'>
<input type='text'>
</div>
<input type='text'>
答案 1 :(得分:0)
使用capybara,您可以使用page.evaluate_script执行一些javascript并返回结果。像
这样的东西page.evaluate_script(“[$('。my_div input')[0] .startSelection,$('。my_div input')[0] .endSelection]”)
应该返回一个带有开始和结束选择位置的数组,然后你可以验证它。