What you can describe.
Haiku understands a full range of natural English assertions — across UI flows and backend code. Mix and match any of these in any order to build your test, no special syntax, no memorizing APIs.
For .ios.haiku files (and macOS, web, Android once they ship). These describe what a user does in your app — taps, types, scrolls, and the things they should see in response.
Interactions
“Tap the sign up button”“Click 'Confirm'”“Long press the notification”“Hover over the account menu”“Toggle the dark mode switch”“Double-tap the image”“Drag the slider to the right”“Press and hold the delete button”
Input
“Type your email address”“Select 'Annual' from the billing dropdown”“Clear the search bar and search for 'settings'”“Paste a URL into the address bar”“Enter a date in the date picker”“Upload a profile photo”
Navigation
“Scroll down to the pricing section”“Swipe left on the onboarding card”“Navigate back to the home screen”“Open the side menu”“Switch to the second tab”“Pull down to refresh”
Assertions
“Verify the success banner appears”“Check that the cart shows 3 items”“Confirm the error message clears”“Assert the submit button is disabled”“Verify the user's name is displayed”“Check the page title is correct”“Confirm the modal has closed”
Async
“Wait for the results to load”“Wait for payment to confirm”“Wait for the email to arrive”“Wait until the loading spinner disappears”
Don't see an action you need? During early access we're actively expanding coverage — let us know what you're testing.
Join the waitlist →