Javascript 使用Robin Herbots';时从输入框中获取屏蔽值;输入掩码

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: ',',

我们使用Robin Herbot的Inputmask来屏蔽js表单输入框的输入值(150000=>“150000美元”表示美元输入,052439876=>“052-43-9876”表示SSN输入,等等)

我们添加到输入元素的掩码示例如下:

{
  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”。我想验证输入的值是否正确显示(屏蔽)文本。我不认为存在内部“原始”值和“显示”值-我的印象是插件只是在输入文本时使用按键处理程序修改文本。