From 865a92dfe26e3bb240e25a32e2dec3303df937b3 Mon Sep 17 00:00:00 2001 From: Lana Begunova <70295997+lana-20@users.noreply.github.com> Date: Mon, 5 Oct 2026 23:00:54 -0700 Subject: [PATCH] Hooks: app_hook in every language, and its capture on MobiumApp mobium hook raiseToast "Toast raised by test script" on an Android 15 emulator launched with --gray-box: the app's own toast, drawn at the top of the screen, says what the hook was sent. --- data/runs.json | 10 ++++++++++ examples/canonical.json | 12 ++++++++++++ examples/dotnet.json | 5 +++++ examples/go.json | 5 +++++ examples/java.json | 5 +++++ examples/javascript.json | 5 +++++ examples/python.json | 5 +++++ scripts/capture.py | 4 ++++ static/img/shots/app_hook-0-after.jpg | Bin 0 -> 58272 bytes 9 files changed, 51 insertions(+) create mode 100644 static/img/shots/app_hook-0-after.jpg diff --git a/data/runs.json b/data/runs.json index 7ba127f..97be9c8 100644 --- a/data/runs.json +++ b/data/runs.json @@ -732,5 +732,15 @@ "output": "tapped testid=busyRowB at (540, 1095)\ngray box: waited 307 ms for the app to go idle (busy: quiet)", "caption": "`mobium tap testid=busyRowB` on MobiumApp's Busy Demo, Android 15 emulator, launched with `--gray-box`: the tap waited for the quiet refresh to finish, and Row B is the new generation's", "after": "/img/shots/app_tap-3-after.jpg" + }, + "app_hook[0]": { + "tool": "app_hook", + "index": 0, + "command": "mobium hook raiseToast \"Toast raised by test script\"", + "verbatim": true, + "exit": 0, + "output": "hook raiseToast answered: \"shown\"\ngray box: the app was idle", + "caption": "`mobium hook raiseToast \"Toast raised by test script\"` on MobiumApp, Android 15 emulator, launched with `--gray-box`: the app's own toast says what the hook was sent", + "after": "/img/shots/app_hook-0-after.jpg" } } diff --git a/examples/canonical.json b/examples/canonical.json index b8aaae7..042486b 100644 --- a/examples/canonical.json +++ b/examples/canonical.json @@ -903,5 +903,17 @@ "name": "mobium-test" } } + ], + "app_hook": [ + { + "title": "Call a hook the app registered, and get back what it answered", + "cli": "mobium hook raiseToast \"Toast raised by test script\"", + "args": { + "hook": "raiseToast", + "args": [ + "Toast raised by test script" + ] + } + } ] } diff --git a/examples/dotnet.json b/examples/dotnet.json index 2460f48..9e94b30 100644 --- a/examples/dotnet.json +++ b/examples/dotnet.json @@ -459,6 +459,11 @@ { "code": "device.Shutdown(\"mobium-test\");" } + ], + "app_hook": [ + { + "code": "device.LaunchWithGrayBox(\"dev.mobium.mobiumapp\");\nvar answer = device.Hook(\"raiseToast\", \"Toast raised by test script\"); // \"shown\"" + } ] }, "members": { diff --git a/examples/go.json b/examples/go.json index 0d83a69..cac0fec 100644 --- a/examples/go.json +++ b/examples/go.json @@ -459,6 +459,11 @@ { "code": "if err := dev.Shutdown(ctx, \"mobium-test\"); err != nil {\n\treturn err\n}" } + ], + "app_hook": [ + { + "code": "if err := dev.LaunchWithGrayBox(ctx, \"dev.mobium.mobiumapp\"); err != nil {\n\treturn err\n}\nanswer, err := dev.Hook(ctx, \"raiseToast\", \"Toast raised by test script\")\nif err != nil {\n\treturn err\n}\nfmt.Println(answer) // shown" + } ] }, "members": { diff --git a/examples/java.json b/examples/java.json index 1533ce8..33ca858 100644 --- a/examples/java.json +++ b/examples/java.json @@ -459,6 +459,11 @@ { "code": "device.shutdown(\"mobium-test\");" } + ], + "app_hook": [ + { + "code": "device.launchWithGrayBox(\"dev.mobium.mobiumapp\");\nObject answer = device.hook(\"raiseToast\", \"Toast raised by test script\"); // \"shown\"" + } ] }, "members": { diff --git a/examples/javascript.json b/examples/javascript.json index cadfac0..f326e85 100644 --- a/examples/javascript.json +++ b/examples/javascript.json @@ -459,6 +459,11 @@ { "code": "await device.shutdown('mobium-test')" } + ], + "app_hook": [ + { + "code": "await device.launch('dev.mobium.mobiumapp', { grayBox: true })\nconsole.log(await device.hook('raiseToast', 'Toast raised by test script')) // shown" + } ] }, "members": { diff --git a/examples/python.json b/examples/python.json index 06964f2..5445334 100644 --- a/examples/python.json +++ b/examples/python.json @@ -459,6 +459,11 @@ { "code": "device.shutdown(\"mobium-test\")" } + ], + "app_hook": [ + { + "code": "device.launch(\"dev.mobium.mobiumapp\", gray_box=True)\nprint(device.hook(\"raiseToast\", \"Toast raised by test script\")) # shown" + } ] }, "members": { diff --git a/scripts/capture.py b/scripts/capture.py index 7198028..ab69f74 100644 --- a/scripts/capture.py +++ b/scripts/capture.py @@ -62,6 +62,10 @@ def app_screen(name): dict(tool="app_launch", i=0, setup=[f"terminate {SETTINGS}"], after=True), # MobiumApp links Mobium's gray-box library; the launch says the app answered. dict(tool="app_launch", i=1, setup=[f"terminate {APP}"]), + # A gray-box hook: MobiumApp's raiseToast draws its message in a toast. + dict(tool="app_hook", i=0, setup=[f"terminate {APP}", f"launch --gray-box {APP}"], after=True, + caption="`mobium hook raiseToast \"Toast raised by test script\"` on MobiumApp, Android 15 emulator, " + "launched with `--gray-box`: the app's own toast says what the hook was sent"), dict(tool="app_map", i=0, setup=settings_root(), after=True), dict(tool="app_text", i=0, setup=settings_root(), after=True), dict(tool="app_find", i=0, setup=settings_root(), after=True), diff --git a/static/img/shots/app_hook-0-after.jpg b/static/img/shots/app_hook-0-after.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c54f9ad1310429bfcf03ece61d5ebe7c3ee9e46 GIT binary patch literal 58272 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 tab5im#-@l;^Or_`9gYiJH}!)