Submit a form.
The subject must be a
cy.get('form').submit() // Submit a form
cy.submit() // Errors, cannot be chained off 'cy' cy.get('input').submit() // Errors, 'input' does not yield a form
Pass in an options object to change the default behavior of
||Displays the command in the Command log|
||Time to wait for
.submit()yields the same subject it was given from the previous command.
Submit can only be called on a single form.
<form id="contact"> <input type="text" name="message"> <button type="submit">Send</button> </form>
Submit is not an action command
.submit() is not implemented like other action commands, and does not follow the same rules of waiting for actionability.
.submit() is just a helpful command which is a simple shortcut. Normally a user has to perform a different “action” to submit a form. It could be clicking a submit
<button>, or pressing
enter on a keyboard.
Oftentimes it’s much simpler and conveys what you’re trying to test by just using
.submit()requires being chained off a command that yields DOM element(s).
.submit()requires the element to be a
.submit()will automatically wait for assertions you've chained to pass.
.submit()can time out waiting for assertions you've added to pass.
Submit a form
cy.route('POST', '/users', 'fixture:user').as('userSuccess') cy.get('form').submit()
The commands above will display in the Command Log as:
When clicking on
submit within the command log, the console outputs the following: