Cypress如何选择包含文本的选项

Cypress如何选择包含文本的选项,cypress,Cypress,在Cypress中,只有在完全匹配的情况下,select('option-text')命令才会起作用。我如何告诉它选择一个包含文本的选项呢?到目前为止,我在api和github版本中都没有找到类似的内容 所以我在我的项目中添加了一个: //cypress/support/commands.ts add('selectContaining',{prevSubject:'element'},(subject,text,options)=>{ 返回cy.wrap(subject)。包含('option

在Cypress中,只有在完全匹配的情况下,
select('option-text')
命令才会起作用。我如何告诉它选择一个包含文本的选项呢?

到目前为止,我在api和github版本中都没有找到类似的内容

所以我在我的项目中添加了一个:

//cypress/support/commands.ts
add('selectContaining',{prevSubject:'element'},(subject,text,options)=>{
返回cy.wrap(subject)。包含('option',text,options)。然后(
option=>cy.get('select#report selection')。select(option.text().trim())
);
});
//cypress/support/commands\u type.ts
声明命名空间Cypress{
可链接接口{
requestApi(方法:HttpMethod,url:string,body?:RequestBody):可链接;
选择包含(文本:字符串|字符串[],选项?:部分):可链接;
}
}

通过别名,您可以使其正常工作:

cy.get('select'))
.find('选项')
.contains('您的文本')
.as('selectOption'))
.然后(()=>{
cy.get('select')
.select(`${this.selectOption.text()}`)
})

我可以问一下,您为什么要选择只包含文本的选项吗?告诉我们更多关于你的情况。谢谢你下面的回答。我有一个
,其中的选项不仅包含物品的名称,还包含一些可选的细节。举一个随机的例子,它可以是一个产品的名称,与它的价格相关联(以帮助选择)。在我正在编写的测试环境中,我唯一可以通过编程轻松获取的是名称,而不是价格。让我们也提到,我可以依赖于名称和选项之间的双射(不需要价格来选择特定选项)。顺便说一句,如果这就是你来这里的原因,我已经接受了我自己的答案,很抱歉忘记了。