Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access the value of baseURL in Cypress

I'm just starting to learn JavaScript and have been using Cypress to automate some regression tests. The test I writing currently is meant to verify link's text and href in a header and footer.

The issue I am having is that these tests need to be run across various environments and I cannot seem to access the baseUrl property set in the cypress.json in order to set the domain in my assertion.

In the script that follows it is the line 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)            });          });        });      });

So far I have tried a number of things, I'm a bit embarrassed to list them all, I'm new to this so they're probably insane and definitely just guesses; amongst them were Cypress.env('CYPRESS_baseUrl') and Cypress.baseUrl. Each time it just comes back as undefined.

Or, if I'm attacking this in completely the wrong way any guidance on a better way would be appreciated. I'd be grateful for any help or guidance, thanks.

like image 362
David Boydell Avatar asked Oct 25 '18 08:10

David Boydell


People also ask

How is baseUrl defined in Cypress?

baseUrl can be set in your configuration file (cypress. json by default) - and then you can set an environment variable in your OS to override it like shown below.

How do I visit a page in Cypress?

options (Object)visit() commands' will use the pageLoadTimeout and baseUrl set globally in your configuration. The URL to visit. This value will be appended to the baseUrl if one is configured. Behaves the same as the url argument.


1 Answers

You can use the Cypress.config() command.

To get baseUrl value use Cypress.config().baseUrl.

like image 190
Diogo Rocha Avatar answered Sep 20 '22 13:09

Diogo Rocha