试图将数据存储在.as命令中,但使用This.text调用时返回Null



我试图使用.as命令存储一个变量,该命令存储数据,但当使用This.text调用时返回Null

it('store variable',function(){
cy.log('ASDF').as('print')
}
it('print',function(){
cy.log(This.print)
}

这是因为cy.log()不会产生任何结果。查看文档,每个命令都有一个Yields部分,让您知道传递给.as()等链式命令的内容。

您希望改用cy.wrap()

cy.wrap('ASDF').as('print')

也不要在this上使用大写T

cy.log(this.print)

假设要将保存在一个it块中的值用于另一个块。别名(as(将不是正确的选择,因为柏树会清除it块之间的别名。

您可以使用柏树环境变量来保存文本,然后您可以在整个柏树项目的任何地方使用该文本。

it('store variable', function () {
cy.get('selector')
.invoke('text')
.then((text) => {
Cypress.env('envVarText', text) //Saves the value
})
})
it('print', function () {
cy.log(Cypress.env('envVarText')) //gets the value
})

如果你想包装文本,你可以这样做:

it('store variable', function () {
cy.wrap('ASDF').then((text) => {
Cypress.env('envVarText', text) //Saves the value
})
})
it('print', function () {
cy.log(Cypress.env('envVarText')) //gets the value
})

相关内容

  • 没有找到相关文章

最新更新