You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Cypress运行时报错"TypeError: cyBySel is not function"

报错原因

getBySel不属于Cypress内置的全局API,是前端自动化测试领域通用的自定义封装命令,你没有在项目中完成该命令的注册逻辑,调用未定义的方法就会抛出此错误。

解决方案

  • 第一步:添加自定义命令注册逻辑
    在项目的cypress/support/commands.js文件中添加如下代码:
Cypress.Commands.add('getBySel', (selector, options) => {
  // 默认匹配元素的data-testid属性,你也可以根据自身业务规则改成data-cy等其他自定义属性
  return cy.get(`[data-testid="${selector}"]`, options)
})
  • 第二步:确认命令导入配置
    检查cypress/support/e2e.js(Cypress 10以下版本对应cypress/support/index.js)文件中是否存在导入commands的代码,没有的话手动添加:
import './commands'
  • 第三步:校验元素属性和代码拼写
  1. 确认页面中对应按钮元素都添加了匹配的data-testid属性,比如关于我们按钮的属性要写为data-testid="aboutusButton",属性值和你调用getBySel时传入的参数完全一致
  2. 你现有测试代码最后一行存在语法错误,cy.contains('Terms of Service').click缺少调用括号,要修改为cy.contains('Terms of Service').click()才能正常触发点击操作

内容的提问来源于stack exchange,提问作者Mh Ea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:24:07