Я только начинаю изучать JavaScript и использую Cypress для автоматизации некоторых регрессионных тестов. Тестирование, которое я пишу в настоящее время, предназначено для проверки текста ссылки и href в верхнем и нижнем колонтитуле.
Проблема, с которой я сталкиваюсь, заключается в том, что эти тесты должны выполняться в разных средах, и я не могу получить доступ к свойству baseUrl, установленному в cypress.json, чтобы установить домен в моем утверждении.
В следующем сценарии это строка 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().baseUrl
.
Но как получить доступ к значению All URL?