1111import asyncio
1212import os
1313
14- from sentience import AsyncSentienceBrowser, AgentRuntime
14+ from sentience import AgentRuntime, AsyncSentienceBrowser
1515from sentience.tracing import JsonlTraceSink, Tracer
1616from sentience.verification import (
1717 exists,
@@ -30,7 +30,9 @@ async def main() -> None:
3030
3131 async with AsyncSentienceBrowser(headless=True) as browser:
3232 page = await browser.new_page()
33- runtime = await AgentRuntime.from_sentience_browser(browser=browser, page=page, tracer=tracer)
33+ runtime = await AgentRuntime.from_sentience_browser(
34+ browser=browser, page=page, tracer=tracer
35+ )
3436
3537 # If you have a Pro/Enterprise key, set it on the runtime so snapshots use the Gateway.
3638 # (This improves selector quality and unlocks state-aware fields for assertions.)
@@ -44,10 +46,16 @@ async def main() -> None:
4446 # v1: state-aware assertions (examples)
4547 runtime.assert_(exists("role=heading"), label="has_heading")
4648 runtime.assert_(is_enabled("role=link"), label="some_link_enabled")
47- runtime.assert_(is_disabled("role=button text~'continue'"), label="continue_disabled_if_present")
48- runtime.assert_(is_checked("role=checkbox name~'subscribe'"), label="subscribe_checked_if_present")
49+ runtime.assert_(
50+ is_disabled("role=button text~'continue'"), label="continue_disabled_if_present"
51+ )
52+ runtime.assert_(
53+ is_checked("role=checkbox name~'subscribe'"), label="subscribe_checked_if_present"
54+ )
4955 runtime.assert_(is_expanded("role=button name~'more'"), label="more_is_expanded_if_present")
50- runtime.assert_(value_contains("role=textbox name~'email'", "@"), label="email_has_at_if_present")
56+ runtime.assert_(
57+ value_contains("role=textbox name~'email'", "@"), label="email_has_at_if_present"
58+ )
5159
5260 # Failure intelligence: if something fails you’ll see:
5361 # - details.reason_code
@@ -58,4 +66,3 @@ async def main() -> None:
5866
5967if __name__ == "__main__":
6068 asyncio.run(main())
61-
0 commit comments