Validate
Assert that something is true on screen — presence, state, numbers, or a value you captured earlier.
Validate asserts a condition on screen. A test passes or fails on its validations; every other command exists to reach the screen.
Platforms
Android · iOS
Keywords
Validate, Verify, Confirm, Check — any case
Retries
Up to 3 attempts before the step fails
Batching
Several checks on one line are evaluated together, in one pass
Watch out
Retries are not a wait. A screen that reliably takes 4 seconds needs a Wait
Prerequisites
A connected device or emulator
An open test file
The screen under assertion reached by the steps above the
ValidateFor variable comparisons: a value captured with
SET, or an API step
Copy this
OPEN_APP com.shopease.android
Wait Until 5 Seconds
Tap on the cart icon
Wait Until 3 Seconds
Validate 1. Order Summary 2. Delivery address 3. Total amount is visible
Validate that the Place Order button is enabled
Validate that the error message is not visibleWrite a validation
Add a
Waitafter the step that navigates to the screen.Write
Validate <full visible label> is visible, using the label exactly as it renders.Add a section, a position, or a neighbor when the label appears more than once on the screen.
Number the checks on one line when several apply to the same screen.
Run the test and confirm the report lists each sub-check with its own result.
Assertion forms
Presence
Validate <label> is visible
Validate Order Placed tag is visible
Absence
Validate <label> is not visible
Validate that the error message is not visible
State
Validate <label> is enabled / is disabled
Validate that the Place Order button is enabled
Styling
Validate <label> is <state> with <style>
Validate that the Submit button is disabled with grey colour
Position
Validate the <ordinal> "<label>"
Validate the first "Add" CTA
Context
Validate <label> in <section>
Validate Active tag is visible in subscription section
Comparison
Validate <a> is greater than <b>
Validate that the item count is greater than 0
Arithmetic
Validate <a> equals <expression>
Validate that final amount equals subtotal + tax + delivery charges
Against a variable
Validate <thing on screen> matches {{var}}
Validate that the total shown on screen matches {{order.total_amount}}
Partial text
Validate text starts with "<text>" / contains "<text>"
Validate text contains "Success"
Batched
Validate 1. <a> 2. <b> 3. <c> is visible
Validate 1. Order ID 2. Delivery address 3. Total amount is visible
Presence
Use the full visible label.
Add context when the label appears more than once:
Add position when identical labels repeat:
Several things at once
Number the checks on one line. Drizz evaluates checks on the same screen in a single pass, which costs less than three separate validations.
If a batched validation reports false while every sub-check reads true, split it across two lines.
Styling and state
Numbers and comparisons
Drizz evaluates arithmetic rather than reading the total off the screen.
Group calculations that belong together onto one line so they're evaluated as a set:
Directional checks (greater than) survive a pricing change. A hard-coded expected total does not.
Against a variable or an API response
Compare what's on screen to a value captured earlier or pulled from an API.
See Store & SET for capturing the values, and API steps for pulling them from an API.
Inside a conditional
Dynamic text
When only part of the label is stable, validate the stable part.
Full-text validation applies everywhere else. Partial matches over-match.
Retries
A validation gets up to 3 attempts before it fails. Retries absorb jitter, not latency. A screen that reliably takes four seconds needs Wait Until 4 Seconds — by the time three attempts are exhausted, the step has failed on a screen that was never ready. See Waits & timing.
Redundant validations
A Scroll ... until "FAQs" is visible that succeeded has already put the element on screen. A Validate FAQs is visible on the next line is a duplicate check that costs a pass over the screen.
Common mistakes
Validate Placed is visible when the label reads Order Placed
A partial match can hit the wrong element. Validate the full label
Validate Apply is visible on a screen with three coupons
Matches whichever one it finds first. Add the section or a position
A Validate immediately after a tap that navigates
The validation runs against the old screen, burns its 3 attempts and fails. Add a Wait
Validate that total is 1499 with server-driven pricing
Passes today, fails the next time pricing changes. Use greater than or compare against a stored value
Validating a variable's name — Validate phone is visible
Checks for the literal text "phone". Validate the value, or the label it sits under
Three separate Validate lines for one screen
Three passes over the same screen. Number them on one line instead
A test that taps through five screens and validates nothing
Passes even when the app is broken
Next
Waits & timing — the fix for validations that fail on slow screens
Conditionals —
IF ValidateblocksStore & SET — capturing values to validate against
Last updated: 6 August 2026
Last updated
Was this helpful?