为Html.CheckBoxFor添加自定义属性报错:Cypress测试需加data-cy属性
解决ASP.NET MVC中CheckBoxFor添加data-cy属性的错误问题
问题原因
在ASP.NET MVC的匿名对象参数里,C#语法不允许标识符包含连字符(-),直接写@data-cy会触发语法错误。
解决方法
把属性名里的连字符换成下划线(_),ASP.NET MVC渲染HTML时会自动将下划线转换为连字符。修改后的代码如下:
@Html.CheckBoxFor(m => m.Steps, new { @class="form-check-input flex-shrink-0", @type="checkbox", name="BinComplaintRadios", @data_cy="CheckBox" })
验证效果
页面渲染后,复选框会生成正确的data-cy="CheckBox"属性,你可以通过浏览器开发者工具确认属性存在,之后就能在Cypress测试里用cy.get('[data-cy="CheckBox"]')正常定位该复选框。
内容的提问来源于stack exchange,提问作者Dread
相关产品推荐
相关产品推荐

