cy.clear() 没有正确清除输入字段 - 赛普拉斯

新手上路,请多包涵

当我表演

cy.get('#fsp-name').clear().type('random text');

如果文本已经有值让我们说’assd asd adsdsd’并且我执行上面的命令我得到类似于’random textassd’的东西

我也试过使用

cy.get('#fsp-name').clear().should('have.value', '').type('random text');

它有时会工作,有时会抱怨它不等于“”。

我正在尝试在如下所示的每个循环中执行此操作

const data = [
{selector:'#name', newValue: 'John'},
{selector:'#phone', newValue: '1234567'}
];
cy.wrap(data).each(field => {
cy.get(field.selector).clear().should('have.value', '').type(field.newValue);
cy.contains('Save').click();
cy.visit('/abc/sdd');
cy.get(field.selector).invoke('val').should('equal', field.newValue);
});

在此处输入图像描述

原文由 Harish Krishnan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 324
1 个回答

尝试了上面提供的解决方案,但都没有帮助。我最终使用了这个:

 cy.get('#my-input-element').focus().clear();

如果这不起作用,则不太满意的解决方法是:

 cy.get('#my-input-element').invoke('val', '');

当 .type 以某种方式没有完成给定的字符串时(极少数情况):

 cy.get('#my-input-element').invoke('val', 'Some text here');

原文由 Nik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题