Cypress自定义命令运行报语法错误,求解决方案(v10.2.4)
解决Cypress自定义命令中的语法错误问题
你的问题出在模板字符串的使用方式错误:自定义命令里的#${selector}用单引号包裹,导致ES6的模板变量${selector}没有被解析,直接作为字符串#${selector}传递给cy.get(),这显然不是有效的CSS选择器,所以触发了语法错误。
修正后的自定义命令代码如下:
// 标准写法 Cypress.Commands.add('getbyId', (selector) => { return cy.get(`#${selector}`) }) // 简化的箭头函数写法 Cypress.Commands.add('getbyId', (selector) => cy.get(`#${selector}`))
关键改动是把包裹字符串的单引号(')换成**反引号()**,这样${selector}才会被正确解析为传入的ID参数,生成类似#username`这样的有效选择器。
另外补充个小技巧:Cypress本身支持直接通过ID属性查找元素,比如cy.get('[id="user-form"]'),不过自定义命令能让写法更简洁,修正后即可正常使用。
内容的提问来源于stack exchange,提问作者Meena Rao
相关产品推荐
相关产品推荐

