Javascript 如何在cypress get命令中将文本作为参数传递

Javascript 如何在cypress get命令中将文本作为参数传递,javascript,cypress,Javascript,Cypress,我正在我的一个项目中使用Cypress工具,我可以找到一些包含文本的元素,比如说XYZ,使用类似这样的东西- myElement() { return cy.get('span:contains("XYZ")'); } 。 但是,我希望通过将此值XYZ作为参数传递,使此方法具有通用性。 我试过这样的方法,但没用- myElement(text) { return cy.get('span:contains(text)'); } 有人能告诉我

我正在我的一个项目中使用Cypress工具,我可以找到一些包含文本的元素,比如说XYZ,使用类似这样的东西-

myElement() {
        return cy.get('span:contains("XYZ")');
}
。 但是,我希望通过将此值XYZ作为参数传递,使此方法具有通用性。 我试过这样的方法,但没用-

myElement(text) {
        return cy.get('span:contains(text)');
}
有人能告诉我这是怎么做到的吗

提前谢谢

您可以使用来实现这一点。转到
cypress/support/commands.js
并编写:

Cypress.Commands.add('findElementWithText', (text) => {
  cy.get('span:contains(text)');
})
在测试中,您可以编写:

cy.findElementWithText('randomText1')
cy.findElementWithText('randomText2')
您可以使用来实现这一点。转到
cypress/support/commands.js
并编写:

Cypress.Commands.add('findElementWithText', (text) => {
  cy.get('span:contains(text)');
})
在测试中,您可以编写:

cy.findElementWithText('randomText1')
cy.findElementWithText('randomText2')

在选择器字符串的函数中使用参数的方法是使用

使用反勾号创建选择器字符串

函数myElement(文本){
常量选择器=`span:contains(${text})`
返回cy.get(选择器);
}
或更短

函数myElement(文本){
返回cy.get(`span:contains(${text})`);
}
或自定义命令

Cypress.Commands.add('findElementWithText',(text)=>{
get(`span:contains(${text})`);
})
或者使用Cypress
contains()
不需要模板文本

Cypress.Commands.add('findElementWithText',(text)=>{
cy.contains('span',text);
})

在选择器字符串的函数中使用参数的方法是使用

使用反勾号创建选择器字符串

函数myElement(文本){
常量选择器=`span:contains(${text})`
返回cy.get(选择器);
}
或更短

函数myElement(文本){
返回cy.get(`span:contains(${text})`);
}
或自定义命令

Cypress.Commands.add('findElementWithText',(text)=>{
get(`span:contains(${text})`);
})
或者使用Cypress
contains()
不需要模板文本

Cypress.Commands.add('findElementWithText',(text)=>{
cy.contains('span',text);
})