用赛普拉斯在Blazor输入字段中键入文本不起作用

时间:2019-12-02 09:09:50

标签: razor cypress blazor

我有一个使用Blazor构建的简单Web表单,我正在尝试与Cypress进行测试。当我尝试在文本字段中键入文本时,首先会正确输入文本,但是大约一秒钟后,它会从屏幕上消失。同样,如果我从下拉列表中选择一个值,则正确的值会在屏幕上闪烁,然后消失。测试通过,并且控制台中没有错误或警告。

如果我在浏览器中输入文字或进行其他更改,则一切正常。我也可以自己在赛普拉斯浏览器中正确输入文本。仅在赛普拉斯正在运行测试时才会出现该问题。

这是.razor文件中我表单的简化版本,可以重现该问题。 TempTableMapping是一个简单的对象,我用于绑定值。

<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>

我使用的赛普拉斯代码:

describe('My Test', function () {

    it('Type mapping name', function () {
        cy.visit('https://localhost:44374/mapping')
        cy.get('#MappingName').type("mapping_name")
    })
})

我认为问题可能与Blazor在后台执行的一些Java脚本操作有关,但是我对Blazor的了解不足,无法进一步调试它。

我已经阅读了本文(https://remibou.github.io/Test-a-Blazor-App-with-Cypress/),因此应该可以将Cypress与Blazor一起使用。我还尝试了本文中提到的polyfill-fix,但它对此无济于事,并且可能与该问题无关。我还注意到以下问题(https://github.com/cypress-io/cypress/issues/4635),它可能与此问题有关。

我正在使用赛普拉斯3.7.0版。

0 个答案:

没有答案