Skip to main content
Use boolean response schemas to check UI states, verify conditions, and make decisions in your automation flows.

Basic Usage

from askui import VisionAgent

with VisionAgent() as agent:
    agent.tools.webbrowser.open_new("http://www.example.com")
    agent.wait(3)  # Wait for page to load

    is_loaded = agent.get("Is the page fully loaded?", response_schema=bool)
    assert is_loaded, "Page should be loaded"

    print(f"is loaded: {is_loaded}")

Best Practices

  1. Be Specific: Ask precise questions about what you’re checking
    # Good - specific
    is_error = agent.get("Is there a red error message below the email field?", response_schema=bool)
    
    # Less specific
    is_error = agent.get("Is there an error?", response_schema=bool)
    
  2. Use for Control Flow: Boolean questions are perfect for conditional logic
    if agent.get("Is the cookie banner visible?", response_schema=bool):
        agent.click("Accept cookies")
    
    # Continue with main flow
    
  3. Combine Multiple Checks: Use multiple boolean questions for complex validations
    can_proceed = all([
        agent.get("Is the form completely filled?", response_schema=bool),
        agent.get("Is the terms checkbox checked?", response_schema=bool),
        not agent.get("Are there any validation errors?", response_schema=bool)
    ])
    
I