【问题标题】:Cypress custom command wont return value赛普拉斯自定义命令不会返回值
【发布时间】:2020-06-10 15:31:47
【问题描述】:

我想将一个函数添加为命令,以便重复使用。

它在 cypress/support/commands.js 上:

Cypress.Commands.add("generatePassword", () => {

    return 'randomstring';
  }
);

然后在我的测试中,我想将其用作:

  it("Visits page", () => {

    const password = generatePassword();
    cy.log({password})
    // Here it logs this:
    //{password: {chainerid: chainer146, firstcall: false}}



  });

关于如何获得实际价值的任何想法?现在我明白了:

{chainerid: chainer146, firstcall: false}

谢谢。

【问题讨论】:

  • 在这种情况下不要使用自定义命令,使用简单的函数。
  • 但我无法导入文件。

标签: cypress


【解决方案1】:

基本上 cypress 在 Promise 链中工作,并且您从自定义命令中返回 Promise Chainerid。您必须将其链接起来才能在下一个语句中使用。使用类似下面的东西。

it("Visits page", () => {
return cy.generatePassword().then(pwd => {
    cy.log(pwd);
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2019-09-14
    • 2021-12-03
    • 2020-02-08
    相关资源
    最近更新 更多