@browserstack/mcp-server 2.3.0-beta.4 → 2.3.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -459,12 +459,12 @@
|
|
|
459
459
|
"entity": "app_session",
|
|
460
460
|
"intent": "Type text into an input field in the app \u2014 use this to fill a search box, login form or any editable field found with find_element.",
|
|
461
461
|
"guidance": [
|
|
462
|
-
"REPLACES whatever the field already holds
|
|
462
|
+
"WHETHER THIS REPLACES OR APPENDS DEPENDS ON THE PLATFORM: on Android it replaces whatever the field already holds, and on iOS it appends to it. Typing twice into one iOS field therefore leaves both values joined. Read the field back from get_page_source whenever the resulting value matters.",
|
|
463
463
|
"The element must be an editable field (EditText on Android, TextField on iOS); typing into anything else fails with \"invalid element state\".",
|
|
464
464
|
"The on-screen keyboard may stay open afterwards and cover lower elements \u2014 re-read the page source before the next tap.",
|
|
465
|
-
"
|
|
466
|
-
"The keyboard is usually left open afterwards
|
|
467
|
-
"Sending a newline
|
|
465
|
+
"There is no way to empty a field on this surface: the standard clear endpoint answers 200 without reliably emptying it, so typing the value you want is the way to set it \u2014 and on iOS, where this appends, there is no way to correct a field you have already typed into.",
|
|
466
|
+
"The keyboard is usually left open afterwards. On Android, hide_keyboard closes it. On iOS it cannot be closed without submitting, so read hide_keyboard's guidance before planning a tap below the field.",
|
|
467
|
+
"Sending a newline closes the keyboard on iOS by SUBMITTING the field: the field resets to its placeholder and the value moves wherever the app sends it. Use it to dismiss the keyboard only when submitting is what you wanted anyway; see hide_keyboard for what the alternatives do."
|
|
468
468
|
],
|
|
469
469
|
"path_params": [
|
|
470
470
|
{
|
|
@@ -1449,9 +1449,11 @@
|
|
|
1449
1449
|
"intent": "Close the on-screen keyboard \u2014 use this when it covers a button or field you need to tap after typing.",
|
|
1450
1450
|
"guidance": [
|
|
1451
1451
|
"The response is true when a keyboard was dismissed and false when none was showing; false is not an error.",
|
|
1452
|
-
"On iOS this can be refused by a keyboard the app controls; the fallback is tapping an empty area or the keyboard's own Done key.",
|
|
1453
1452
|
"A tap aimed at a control hidden behind the keyboard lands on the keyboard instead and reports success, so close it first rather than afterwards.",
|
|
1454
|
-
"On iOS this
|
|
1453
|
+
"On iOS this FAILS rather than quietly doing nothing: 400 \"invalid element state\", message \"Did not know how to dismiss the keyboard\". The keyboard stays up and the field keeps what was typed, so treat the 400 as the normal answer on iOS and not as a broken call.",
|
|
1454
|
+
"What does close it on iOS closes it BY SUBMITTING: send_keys with a newline, or execute_script with 'mobile: hideKeyboard' and args [{\"keys\":[\"return\"]}]. Both press Return, so the field is submitted and cleared to its placeholder and the value moves wherever the app sends it \u2014 that is a change to the app, not just to the keyboard.",
|
|
1455
|
+
"The keys argument names a key on the APP'S OWN keyboard, so it fails the same way when that key is absent: [\"Done\"] returns the same 400 on a keyboard that offers only Return. Omitting keys fails too, and tapping an empty area above the keyboard with perform_actions returns 200 and changes nothing.",
|
|
1456
|
+
"So on iOS there may be no way to put the keyboard away without submitting. Prefer a flow that does not need to tap underneath it \u2014 read values from get_page_source rather than tapping a control the keyboard covers. On Android this capability works normally.",
|
|
1455
1457
|
"is_keyboard_shown reports the state this changes, and is the reliable way to tell whether the keyboard actually went away."
|
|
1456
1458
|
],
|
|
1457
1459
|
"path_params": [
|