Get the current URL hash of the page that is currently active.
This is an alias of
cy.location('hash')
Syntax
cy.hash() cy.hash(options)
Usage
Correct Usage
cy.hash() // Get the url hash
Arguments
options (Object)
Pass in an options object to change the default behavior of cy.hash().
cy.hash( options )
| Option | Default | Description |
|---|---|---|
log | true | Displays the command in the Command log |
timeout | defaultCommandTimeout | Time to wait for cy.hash() to resolve before timing out
|
Yields
When the current URL contains a hash:
cy.hash()yields the current URL’s hash (including the#character).
When the current URL does not contain a hash:
cy.hash()yields an empty string.
Examples
No Args
Assert that hash is #/users/1 given remote URL: http://localhost:8000/app/#/users/1
// yields #/users/1
cy.hash().should('eq', '#/users/1') // => true
Assert that the hash matches via RegExp
<ul id="users">
<li>
<a href="#/users/8fc45b67-d2e5-465a-b822-b281d9c8e4d1">Fred</a>
</li>
</ul>
cy.get('#users li').find('a').click()
cy.hash().should('match', /users\/.+$/) // => true
Rules
Requirements
cy.hash()requires being chained off ofcy.
Assertions
cy.hash()will automatically retry until assertions you've chained all pass.
Timeouts
cy.hash()can time out waiting for assertions you've added to pass.
Command Log
Assert that the hash matches #users/new
cy.hash().should('eq', '#users/new')
The commands above will display in the Command Log as:
When clicking on hash within the command log, the console outputs the following: