Javascript 使用Robin Herbots';时从输入框中获取屏蔽值;输入掩码
我们使用Robin Herbot的Inputmask来屏蔽js表单输入框的输入值(150000=>“150000美元”表示美元输入,052439876=>“052-43-9876”表示SSN输入,等等) 我们添加到输入元素的掩码示例如下:Javascript 使用Robin Herbots';时从输入框中获取屏蔽值;输入掩码,javascript,cypress,input-mask,Javascript,Cypress,Input Mask,我们使用Robin Herbot的Inputmask来屏蔽js表单输入框的输入值(150000=>“150000美元”表示美元输入,052439876=>“052-43-9876”表示SSN输入,等等) 我们添加到输入元素的掩码示例如下: { name: 'numeric', attributes: { prefix: '$ ', radixPoint: '.', autoGroup: true, groupSeparator: ',',
{
name: 'numeric',
attributes: {
prefix: '$ ',
radixPoint: '.',
autoGroup: true,
groupSeparator: ',',
autoUnmask: true,
clearMaskOnLostFocus: true,
showMaskOnFocus: false,
showMaskOnHover: false,
oncleared: ev => {
ev.target.value = null;
ev.target.placeholder = '';
}
}
}
我正在使用Cypress自动化测试,并试图验证150000这样的值是否显示为“$150000”。但是,我似乎无法“获取”屏蔽值(显示时),只有150000的未屏蔽值。关于如何获取显示的“150000美元”值的任何建议取决于您获取该值的方式 使用,这工作正常
it('get masked value',()=>{
参观https://robinherbots.github.io/Inputmask/')
cy.contains('Demo')。单击()
cy.get(“[data inputmask=\”'alias':'numeric','groupSeparator':',','digits':2,'digits Optional':false,'prefix':'$,'placeholder':'0'\”]))
.type('150000')
.应('have.value','$150000.00');
})
你能发布一个具有屏蔽值的web元素的dom(HTML)结构的屏幕截图吗?@alapandes-使用开发工具->检查我得到的元素你应该能够cy.get('input')。应该('have.value','150000')
。在你的测试中,“抓取”是什么样子?@HiramK.Hackenbacker的意思是简单地获取显示在输入框中的文本。所以在我的示例中,输入元素的值是150000,而不是“$150000”。因此,cy.get('input').should('have.value',150000)
返回成功,但是cy.get('input').should('have.value','150000')和cy.get('input').should('have.text','150000')一样失败。
干杯,很明显你得到了不同的结果。如何应用所示的遮罩对象,我想重现场景。是的。这是正确的,因为实际值被设置为“$150000”的屏蔽文本。如果在.should之后添加以下内容:.invoke('val')。然后(($value)=>{let iVal=$value cy.log(iVal);})
您将看到$150000的值被记录。但是,在本例中,实际值为150000,但在文本框中显示为“$150000”。我想验证输入的值是否正确显示(屏蔽)文本。我不认为存在内部“原始”值和“显示”值-我的印象是插件只是在输入文本时使用按键处理程序修改文本。