如何将Cypress链式命令封装为自定义命令selected_value()
封装Cypress自定义命令获取Ember Power Select选中值
实现步骤
- 在
cypress/support/commands.js文件中添加如下自定义命令:
Cypress.Commands.add('selected_value', { prevSubject: true }, (subject) => { return cy.wrap(subject) .find('span.ember-power-select-selected-item') .invoke('text') .then(text => text.trim()) })
关键说明
{ prevSubject: true }是核心配置,它指定这个命令支持链式调用,会接收前一个命令(比如cy.get(selector))返回的DOM元素作为参数subjectcy.wrap(subject)将传入的DOM元素包装为Cypress链式对象,确保后续的find、invoke等命令能正常链式执行- 后续逻辑和你原本的长链式命令完全一致,最终返回修剪后的选中文本,直接对接
.should('eq', expected_value)断言
使用方式
cy.get(selector).selected_value().should('eq', expected_value)
内容的提问来源于stack exchange,提问作者edhel
相关产品推荐
相关产品推荐

