如何保存变量/文本以供以后在赛普拉斯测试中使用?

时间:2019-12-04 20:55:44

标签: javascript cypress

对于测试期间如何使用别名和变量存储信息,赛普拉斯docs(https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html#Elements)尚不清楚。

我正尝试将div的文本存储在一页上,以供以后使用,例如:

// let vpcName;
    it('Store current name to use later', () => {
    //save name for later use - doesn't work
    // cy.get('#value').then(elem => {
    //   vpcName = Cypress.$(elem).text;
    // });

    //using alias - also doesn't work
    cy.get('#value')
      .invoke('text')
      .as('vpcName');
  });
  it('Use previous value to return to correct page', () => {
    cy.contains(this.vpcName).click();
  });

3 个答案:

答案 0 :(得分:1)

我刚刚看到这篇文章,它解释了如何以及为什么存储变量,然后以“柏树方式”使用它:

https://www.stevenhicks.me/blog/2020/02/working-with-variables-in-cypress-tests/

关于它应该如何工作,这是我的例子,它首先收集消息(消息仅显示 3 秒然后消失)。其次,它使用“@”符号获取值。最后,我的代码将存储的消息传递给一个空函数,该函数构造为断言值 'Portsmouth' 包含在消息中。

http://<url>/<sample>

如果您需要进一步说明,请告诉我

答案 1 :(得分:0)

尝试下面的链接 https://docs.cypress.io/guides/core-concepts/variables-and-aliases.html#Return-Values

cy.get('button')。then(($ btn)=> { const txt = $ btn.text()

答案 2 :(得分:0)