如何在Cypress中传入变量输入内容后执行按下回车键操作
解决方案
直接将变量与回车特殊标识拼接后传入单次type()调用即可,推荐使用模板字符串实现:
const valToType = "ABCD" // 模板字符串拼接变量和特殊按键 cy.get('#MyID').type(`${valToType}{enter}`);
也可以使用普通字符串拼接语法:
cy.get('#MyID').type(valToType + '{enter}');
原写法不生效的原因
部分场景下输入框会配置输入防抖、输入即时校验、输入完成失焦触发逻辑等规则,链式调用两次type()时,第一次输入完成后可能触发输入框的关联逻辑,导致目标元素失去焦点、被销毁或状态变更,第二次输入回车的动作就无法生效。
将变量内容和回车标识合并为单次type()调用,会被识别为一次连续的输入动作,不会被中间触发的元素事件打断。
注意事项
如果你的变量内容里包含Cypress用作特殊按键标识的{、}字符,需要提前做转义:
- 输出字面量
{时使用{{} - 输出字面量
}时使用{}}
内容的提问来源于stack exchange,提问作者Nat
相关产品推荐
相关产品推荐

