如何在 Cypress 中访问 baseURL 的值

How to access the value of baseURL in Cypress

我刚刚开始学习 JavaScript 并且一直在使用 Cypress 来自动化一些回归测试。我目前编写的测试旨在验证 link 页眉和页脚中的文本和 href。

我遇到的问题是这些测试需要 运行 跨各种环境,我似乎无法访问 cypress.json 中设置的 baseUrl 属性 以便设置我断言中的域。

在它后面的脚本中是行 cy.get("a").should("have.attr", "href", baseUrl + footerLink.link):

    it.only("translates the content info section", () => {
      cy.wrap(orbitData).each(service => {
        cy.visit(service.name);
        cy.get("#orb-contentinfo > div > ul > li").each(($li, index) => {
          let footerLink = service.links[index]
          cy.wrap($li).should("have.text", footerLink.linkText)
          .within(($li) => {
            cy.get("a").should("have.attr", "href", baseUrl + footerLink.link)
          });
        });
      });
    });

到目前为止我已经尝试了很多东西,我有点不好意思把它们都列出来,我是新手所以它们可能很疯狂而且绝对只是猜测;其中包括 Cypress.env('CYPRESS_baseUrl')Cypress.baseUrl。每次返回时都是 undefined.

或者,如果我以完全错误的方式攻击它,任何关于更好方法的指导将不胜感激。如果有任何帮助或指导,我将不胜感激。

您可以使用 Cypress.config() 命令。

要获得 baseUrl 值,请使用 Cypress.config().baseUrlCypress.config('baseUrl')

如果您在 cypress.json 中定义了 baseUrl,

cy.visit('/') 将访问它。 (Source)