我刚开始学习JavaScript并且一直在使用赛普拉斯来自动化一些回归测试.我当前编写的测试旨在验证链接的文本和页眉和页脚中的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.每次它都以未定义的形式返回.
或者,如果我以完全错误的方式攻击这一点,那么任何有关更好方法的指导都将受到赞赏.感谢任何帮助或指导,我将不胜感激.
解决方法:
您可以使用Cypress.config()
命令.
要获得baseUrl值,请使用Cypress.config().baseUrl.