问题描述
我在 Cypress 测试中使用 Typescript,并且我正在尝试将类型定义添加到自定义命令中,以提高可读性并提供智能感知/自动完成。
我的自定义命令应该只链接到一个多选字段,所以它是一个子命令,并像显示的那样使用。它不能直接从 cy
链接起来,但是当我在 VS Code 的规范文件中键入 cy.
时,它在智能感知中建议我可以使用它,即使它无效。>
有什么方法可以让我在输入 cy.
时阻止它被建议作为选项?我已经指定应该在自定义命令中的元素上调用它,但也许我需要在 index.d.ts 中更改某些内容?
cy.get('MultiselectField1').MultiSelectOptions(true) // Correct usage
cy.MultiSelectOptions(true) // Incorrect usage
commands.js
Cypress.Commands.add('MultiSelectOptions',{
prevSubject: 'element'
},(subject,selected) => {
if(selected){
return subject.find('.selected')
}
else{
return subject.find('.unselected')
}
})
index.d.ts
declare namespace Cypress {
interface Chainable {
/**
* Returns the selected or unselected options section for a multiselect field
* @param {boolean} selected true/false for selected/unselected options respectively
* @example cy.get('MultiselectField1').MultiSelectOptions(true)
*/
MultiSelectOptions(selected: boolean): Chainable<Element>
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)