在“测试用例”中访问夹具数据

时间:2019-09-01 21:29:36

标签: cypress fixtures

如何访问users.json块中的以下灯具:

{ "users": [ { "first_name": "Fadi", "last_name": "Salam", "work_email": "fadi.salam@bayzat.com" }, { "first_name": "Maha", "last_name": "Black", "work_email": "maha.black@bazyat.com" } ] }

descibe('test', () => {
    beforeEach(function(){
    cy.restoreToken()
    cy.fixture('users.json').as('users')
    })

    it('Add an Employee', function() {
           cy.get('@users').then((users) => {
            const user_1 = users[0]
            cy.add_employee(user_1.first_name, user_1.last_name, user_1.work_email)
        }
    )}
})

我的柏树相关功能代码:

...
@media print, screen {
  /* CSS Items */
}
...

...
myWindow.focus();
myWindow.print();
...

我无法访问名字,...等等

我该怎么办?

2 个答案:

答案 0 :(得分:2)

我在您的代码中更改了一些错字并使其正常工作。

在users.json文件中,“ first_name”嵌套在“ users”下。

您可以使用 users.users [0] .first_name访问first_name。下面的示例代码,

cy.get('@users').then((users) => {
            console.log(users.users[0].first_name);
        })

在您的情况下,控制台将显示“ Fadi”。

答案 1 :(得分:0)

如果要在所有情况下都使用此固定装置,并且该固定装置受阻,则可以执行以下操作:

const USERS;

before (() => {
  cy.fixture('users.json').then(($users) => USERS = $users);
}

然后访问const。

cy.getUserName().should('have.text', USERS[0].first_name);