Razor 使用Cypress在Blazor输入字段中键入文本无效

Razor 使用Cypress在Blazor输入字段中键入文本无效,razor,cypress,blazor,Razor,Cypress,Blazor,我用Blazor构建了一个简单的web表单,我正在用Cypress测试它。当我尝试在文本字段中键入文本时,文本首先被正确输入,但大约一秒钟后,它就会从屏幕上消失。类似地,如果我从下拉列表中选择一个值,正确的值会在屏幕上闪烁,然后消失。测试通过,控制台中没有错误或警告 如果我自己在浏览器中输入文本或做一些其他更改,一切正常。我自己也可以在Cypress浏览器中正确输入文本。该问题仅在Cypress运行测试时发生 这是.razor文件中我的表单的简化版本,可以重现问题。诱惑映射是一个简单的对象,我使

我用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")
    })
})