赛普拉斯:让赛普拉斯检测到您在自定义命令中调用了一个或多个cy命令,但返回了另一个值

时间:2020-08-20 10:39:43

标签: cypress

从函数(从command.js / Page对象类)返回任何单个值集时,出现错误,因为“ Cypress检测到您在自定义命令中调用了一个或多个cy命令,但返回了另一个值。”。我搜索了“ Warp”,“。then”等其他选项,但没有运气。

以下是详细信息:

我的Command.js文件:

Cypress.Commands.add("getconstantvalue", () => {
    const todaysDateTime = Cypress.moment().format('MMMDDYYYYSS')
    cy.log(todaysDateTime)
    return todaysDateTime
})

并且我想要在驾驶员/描述衣服脚本中使用“ todaysDateTime”:

describe('The Home Page', function() {
  it('successfully loads', function() { 
    var data = cy.getconstantvalue()
    cy.log(data)       
  })
})

1 个答案:

答案 0 :(得分:1)

这应该有效。您只需要将其链接到所使用的命令即可。

Command.js文件

Cypress.Commands.add("getconstantvalue", () => {
    const todaysDateTime = Cypress.moment().format('MMMDDYYYYSS')
    cy.log(todaysDateTime)
    return cy.wrap(todaysDateTime)
})

测试文件

describe('The Home Page', function() {
    it('successfully loads', function() {
        cy.getconstantvalue().then(data => {
            cy.log(data);
        })
    })
})