Razor 使用Cypress在Blazor输入字段中键入文本无效
我用Blazor构建了一个简单的web表单,我正在用Cypress测试它。当我尝试在文本字段中键入文本时,文本首先被正确输入,但大约一秒钟后,它就会从屏幕上消失。类似地,如果我从下拉列表中选择一个值,正确的值会在屏幕上闪烁,然后消失。测试通过,控制台中没有错误或警告 如果我自己在浏览器中输入文本或做一些其他更改,一切正常。我自己也可以在Cypress浏览器中正确输入文本。该问题仅在Cypress运行测试时发生 这是.razor文件中我的表单的简化版本,可以重现问题。诱惑映射是一个简单的对象,我使用它绑定值Razor 使用Cypress在Blazor输入字段中键入文本无效,razor,cypress,blazor,Razor,Cypress,Blazor,我用Blazor构建了一个简单的web表单,我正在用Cypress测试它。当我尝试在文本字段中键入文本时,文本首先被正确输入,但大约一秒钟后,它就会从屏幕上消失。类似地,如果我从下拉列表中选择一个值,正确的值会在屏幕上闪烁,然后消失。测试通过,控制台中没有错误或警告 如果我自己在浏览器中输入文本或做一些其他更改,一切正常。我自己也可以在Cypress浏览器中正确输入文本。该问题仅在Cypress运行测试时发生 这是.razor文件中我的表单的简化版本,可以重现问题。诱惑映射是一个简单的对象,我使
<EditForm Context="formContext" Model="tempTableMapping">
<div class="modal-body">
<div class="form-label-and-field">
<label for="MappingName">Mapping name: </label>
<InputText id="MappingName" class="form-control" @bind-Value="tempTableMapping.MappingName"></InputText>
</div>
</div>
</EditForm>
我认为这个问题可能与Blazor在后台所做的一些Javascript事情有关,但我对Blazor了解不够,无法进一步调试它
我读过这篇文章,所以应该可以将Cypress与Blazor一起使用。我还尝试了文章中提到的polyfill修复程序,但在这方面没有帮助,可能与此问题无关。我还注意到以下问题,可能与此问题有关
我正在使用Cypress版本3.7.0 作为一种解决方法,我注意到Selenium Webdriver能够正确使用Blazor输入字段作为一种解决方法,我注意到Selenium Webdriver能够正确使用Blazor输入字段您是否尝试过@bind Value=@tentableMapping.MappingName?我现在尝试过,但没有什么不同。这两种方法似乎都能正常工作并将值正确绑定到对象。是否有什么东西在您的C代码中设置了AtterableMapping.MappingName?在@code块的开头,我对对象进行了如下初始化:TableMappingList AtterableMapping=new TableMappingList;MappingName是一个字符串字段,没有其他与之相关的特定C。当我自己在浏览器中使用它时,它也工作得很好,只有当Cypress使用它时才会出现问题。您是否尝试过@bind Value=@tentablemapping.MappingName?我现在尝试过,但没有什么不同。这两种方法似乎都能正常工作并将值正确绑定到对象。是否有什么东西在您的C代码中设置了AtterableMapping.MappingName?在@code块的开头,我对对象进行了如下初始化:TableMappingList AtterableMapping=new TableMappingList;MappingName是一个字符串字段,没有其他与之相关的特定C。当我自己在浏览器中使用它时,它也工作得很好,只有当Cypress使用它时才会出现问题。
describe('My Test', function () {
it('Type mapping name', function () {
cy.visit('https://localhost:44374/mapping')
cy.get('#MappingName').type("mapping_name")
})
})