我应该将选择器和文本数据存储为Cypress中的const还是对象?

问题描述 投票:0回答:1

我正在编写一个很长的测试用例以在赛普拉斯注册。有很多选择器和文本,所以我决定将它们存储为const到测试套件的顶部(如此处https://www.cypress.io/blog/2019/01/03/stop-using-page-objects-and-start-using-app-actions/#adding-items-example所述):

describe("Test registration", () => {
  const REGISTER = "[data-cy=register]";
  ... more 20 selectors
  const SIRE = "Sir";
  const FAKE_NAME = "Cypress";
  const LAST_NAME = "[data-cy=register-lastname]";
  const FAKE_LNAME = "Test";
  const EMAIL = "[data-cy=register-email]";
  ... more 20 selectors
  const SUCCESS = "success!";

  it("Checks sth", () => {
    cy.server();
    cy.visit("/");
    cy.get(REGISTER).click();
    ...
    cy.findByText(SIRE).click();
    cy.get(FIRST_NAME).type(FAKE_NAME);
    cy.get(LAST_NAME).type(FAKE_LNAME);
    cy.get(EMAIL).type(FAKE_EMAIL);
    ...
    cy.get("h2").contains(SUCCESS);
  });
});

这是正确的方法,还是我应该定义一个Object以避免定义太多的const,例如:

const selectors = {
    register: '…',
    …
}
javascript selector cypress e2e-testing
1个回答
0
投票

这只是一个见解,我不会说两者都是错误的。

但是,我要指出的是,在JavaScript中,不能覆盖const的值,但是当const是对象时,可以覆盖对象的属性。

© www.soinside.com 2019 - 2024. All rights reserved.