Skip to main content

URL asserts

the current URL should[ not] be <blank|empty>

Checks whether or not the current browser URL matches a blank or empty string. Reports an assertion error if the match fails.

With custom assertion error message (as of v3.9.0):

the current URL should[ not] be blank  @Message("my custom assert fail message")


Without any timeout (as of v3.73.0):

@Timeout('0s') the current URL should[ not] be blank


With custom timeout (as of v3.73.0):

@Timeout('10s') the current URL should[ not] be blank

Where

  • not negates the match if included
  • <timeoutSecs> is the timeout period in seconds
  • <wait|timeout> is either wait or timeout

Example

  When I navigate to "https://todomvc.com/examples/react/dist"
Then the current URL should not be blank

Trimming (since v3.62.0)

  • The @Trim annotation can be used on step to trim strings when comparing
the current URL should[ not] <match> "<expression>"

Checks whether or not the current browser URL matches a given expression. Reports an assertion error if the match fails.

With custom assertion error message (as of v3.9.0):

the current URL should[ not] <match> "<expression>"  @Message("my custom assert fail message")


Without any timeout (as of v3.73.0):

@Timeout('0s') the current URL should[ not] <match> "<expression>"


With custom timeout (as of v3.73.0):

@Timeout('10s') the current URL should[ not] <match> "<expression>"

Where

  • not negates the match if included
  • <match> is the type of match to perform, one of:

    • be for exact match
    • contain for partial match
    • start with for partial leading match
    • end with for partial trailing match
    • match regex for regex match
    • match xpath for XML match
    • match json path for JSON match, since v1.4.0
    • match template for template match, since v2.16.0
    • match template file for template file match, since v2.16.0
  • <expression> is the expression to match (can be in DocString position)
  • <timeoutSecs> is the timeout period in seconds
  • <wait|timeout> is either wait or timeout

Example

  When I navigate to "https://todomvc.com/examples/react/dist"
Then the current URL should contain "todomvc.com"
And the current URL should not contain "other.com"

Trimming and ignoring case (since v3.62.0)

  • The @Trim annotation can be used on step to trim strings when comparing
  • The @IgnoreCase annotation can be used on step to ignore case when comparing
the current URL should[ not] <match> <expressionRef>

Checks whether or not the current URL in the browser matches a referenced expression. Reports an assertion error if the match fails.

With custom assertion error message (as of v3.9.0):

the current URL should[ not] <match> <expressionRef>  @Message("my custom assert fail message")


Without any timeout (as of v3.73.0):

@Timeout('0s') the current URL should[ not] <match> <expressionRef>


With custom timeout (as of v3.73.0):

@Timeout('10s') the current URL should[ not] <match> <expressionRef>

Where

  • not negates the match if included
  • <match> is the type of match to perform, one of:

    • be for exact match
    • contain for partial match
    • start with for partial leading match
    • end with for partial trailing match
    • match regex for regex match
    • match xpath for XML match
    • match json path for JSON match, since v1.4.0
    • match template for template match, since v2.16.0
    • match template file for template file match, since v2.16.0
  • <expressionRef> is the name of the binding containing the expression to match

    • Can be the name of any binding that contains or resolves to an expression value, including a web element in which case the text in the element will be dynamically retrieved and used.
  • <timeoutSecs> is the timeout period in seconds
  • <wait|timeout> is either wait or timeout

Example

  Given my domain is "todomvc.com"
And some other domain is "someother.com"
When I navigate to "https://todomvc.com/examples/react/dist"
Then the current URL should contain my domain
And the current URL should not contain some other domain

Trimming and ignoring case (since v3.62.0)

  • The @Trim annotation can be used on step to trim strings when comparing
  • The @IgnoreCase annotation can be used on step to ignore case when comparing