赛普拉斯-打字稿-如何使夹具变量全局化?

时间:2020-08-07 11:51:41

标签: typescript cypress fixtures

Cypress / Typescript等产品还不成熟,我想从固定装置中获取一个值,并使它可用于“执行搜索并确认返回的标题正确”测试。但是我似乎无法从测试中访问变量,感谢任何帮助:

这是我的灯具中的值:

LineFilter

这是我的代码,该代码从固定装置创建别名并尝试访问变量,但我收到以下错误:找不到名称“ manuTerm”

{
  "manufacturer": "Dyson",
  "product": "9kJ Hand Dryer"

}

Current errors

manuTerm: any

2 个答案:

答案 0 :(得分:0)

我认为这应该可行。

describe('scenario-one', function() {
      beforeEach(() => { // I need these variables availabe to multiple tests
        cy.fixture('manufacturer').then(function(manuTerm:any) {
          this.manuTerm = manuTerm
          })
        })

        it('perform search and verify returned header is correct', () => {
          const lp = new sourceElements();
          lp.enterSearchTerm(this.manuTerm.manufacturer);
          lp.verifySearchResult(this.manuTerm.manufacturer);
        })
      })

答案 1 :(得分:0)

this为我工作。但是,您是否尝试创建一个高var?

describe('scenario-one', () => {
  let manu: any;
  before(() => {
    cy.fixture('manufacturer').then((val: any) => {
      manu = val;
    });
  });

  it('perform search and verify returned header is correct', () => {
    const lp = new sourceElements();
    lp.enterSearchTerm(manu.manufacturer);
    lp.verifySearchResult(manu.manufacturer);
  });
});