system-testing 1.0.112 → 1.0.114

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.
package/build/cli.js CHANGED
@@ -12,6 +12,7 @@ function printHelp() {
12
12
  system-testing browser-command [--name my-browser] [--port 1991] --visit=https://example.com
13
13
  system-testing browser-command [--name my-browser] --find-by-test-id someID [--timeout 15]
14
14
  system-testing browser-command [--name my-browser] --take-screenshot
15
+ system-testing browser-command [--name my-browser] --click selector [--method human] [--click-offset-x 32] [--click-offset-y 28] [--human-steps 5] [--human-step-delay 75]
15
16
  system-testing browser-command [--name my-browser] --command=executeScript --script='return document.title' [--arg ...]
16
17
  system-testing browser-command [--name my-browser] --command=addCookie --cookie-name=auth --cookie-value=... [--cookie-domain=127.0.0.1] [--cookie-path=/]
17
18
  `);
@@ -80,4 +81,4 @@ main(process.argv.slice(2)).catch((error) => {
80
81
  console.error(error instanceof Error ? error.message : String(error));
81
82
  process.exit(1);
82
83
  });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxvQkFBb0IsTUFBTSw2QkFBNkIsQ0FBQTtBQUM5RCxPQUFPLGNBQWMsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLGVBQWUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFakUsc0JBQXNCO0FBQ3RCLFNBQVMsU0FBUztJQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDOzs7Ozs7Ozs7Q0FTYixDQUFDLENBQUE7QUFDRixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFJO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRS9CLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxTQUFTLEVBQUUsQ0FBQTtRQUNYLE9BQU07SUFDUixDQUFDO0lBRUQsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV4QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDNUMsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxXQUFXLEVBQUU7Z0JBQ1gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxD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SUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDOUMsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNyRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgQnJvd3NlckNvbW1hbmRDbGllbnQgZnJvbSBcIi4vYnJvd3Nlci1jb21tYW5kLWNsaWVudC5qc1wiXG5pbXBvcnQgQnJvd3NlclByb2Nlc3MgZnJvbSBcIi4vYnJvd3Nlci1wcm9jZXNzLmpzXCJcbmltcG9ydCBCcm93c2VyUmVnaXN0cnkgZnJvbSBcIi4vYnJvd3Nlci1yZWdpc3RyeS5qc1wiXG5pbXBvcnQge3BhcnNlQXJndiwgcmVzb2x2ZUJyb3dzZXJDb21tYW5kfSBmcm9tIFwiLi9jbGktaGVscGVycy5qc1wiXG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmZ1bmN0aW9uIHByaW50SGVscCgpIHtcbiAgY29uc29sZS5sb2coYFVzYWdlOlxuICBzeXN0ZW0tdGVzdGluZyBicm93c2VyIDxuYW1lPiBbLS1wb3J0IDE5OTFdIFstLWJhc2UtdXJsIGh0dHBzOi8vZXhhbXBsZS5jb21dXG4gIHN5c3RlbS10ZXN0aW5nIGJyb3dzZXItbGlzdFxuICBzeXN0ZW0tdGVzdGluZyBicm93c2VyLXN0b3AgWy0tbmFtZSBteS1icm93c2VyXVxuICBzeXN0ZW0tdGVzdGluZyBicm93c2VyLWNvbW1hbmQgWy0tbmFtZSBteS1icm93c2VyXSBbLS1wb3J0IDE5OTFdIC0tdmlzaXQ9aHR0cHM6Ly9leGFtcGxlLmNvbVxuICBzeXN0ZW0tdGVzdGluZyBicm93c2VyLWNvbW1hbmQgWy0tbmFtZSBteS1icm93c2VyXSAtLWZpbmQtYnktdGVzdC1pZCBzb21lSUQgWy0tdGltZW91dCAxNV1cbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1jb21tYW5kIFstLW5hbWUgbXktYnJvd3Nlcl0gLS10YWtlLXNjcmVlbnNob3RcbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1jb21tYW5kIFstLW5hbWUgbXktYnJvd3Nlcl0gLS1jb21tYW5kPWV4ZWN1dGVTY3JpcHQgLS1zY3JpcHQ9J3JldHVybiBkb2N1bWVudC50aXRsZScgWy0tYXJnIC4uLl1cbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1jb21tYW5kIFstLW5hbWUgbXktYnJvd3Nlcl0gLS1jb21tYW5kPWFkZENvb2tpZSAtLWNvb2tpZS1uYW1lPWF1dGggLS1jb29raWUtdmFsdWU9Li4uIFstLWNvb2tpZS1kb21haW49MTI3LjAuMC4xXSBbLS1jb29raWUtcGF0aD0vXVxuYClcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBhcmd2XG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAqL1xuYXN5bmMgZnVuY3Rpb24gbWFpbihhcmd2KSB7XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlQXJndihhcmd2KVxuICBjb25zdCBtYWluQ29tbWFuZCA9IHBhcnNlZC5fWzBdXG5cbiAgaWYgKCFtYWluQ29tbWFuZCB8fCBwYXJzZWQuZmxhZ3MuaGVscCkge1xuICAgIHByaW50SGVscCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAobWFpbkNvbW1hbmQgPT09IFwiYnJvd3NlclwiKSB7XG4gICAgY29uc3QgbmFtZSA9IHBhcnNlZC5fWzFdXG5cbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImJyb3dzZXIgcmVxdWlyZXMgYSBuYW1lXCIpXG4gICAgfVxuXG4gICAgY29uc3QgYnJvd3NlclByb2Nlc3MgPSBuZXcgQnJvd3NlclByb2Nlc3Moe1xuICAgICAgYmFzZVVybDogcGFyc2VkLmZsYWdzW1wiYmFzZS11cmxcIl0sXG4gICAgICBicm93c2VyQXJnczoge1xuICAgICAgICBkcml2ZXI6IHBhcnNlZC5mbGFncy5kcml2ZXIgPyB7dHlwZTogcGFyc2VkLmZsYWdzLmRyaXZlcn0gOiB1bmRlZmluZWRcbiAgICAgIH0sXG4gICAgICBkZWJ1ZzogcGFyc2VkLmZsYWdzLmRlYnVnID09PSB0cnVlIHx8IHBhcnNlZC5mbGFncy5kZWJ1ZyA9PT0gXCJ0cnVlXCIsXG4gICAgICBuYW1lLFxuICAgICAgcG9ydDogcGFyc2VkLmZsYWdzLnBvcnQgPyBOdW1iZXIocGFyc2VkLmZsYWdzLnBvcnQpIDogMFxuICAgIH0pXG5cbiAgICBhd2FpdCBicm93c2VyUHJvY2Vzcy5zdGFydCgpXG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe25hbWUsIHBpZDogcHJvY2Vzcy5waWQsIHBvcnQ6IGJyb3dzZXJQcm9jZXNzLnBvcnR9KSlcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgoKSA9PiB7fSlcbiAgfSBlbHNlIGlmIChtYWluQ29tbWFuZCA9PT0gXCJicm93c2VyLWxpc3RcIikge1xuICAgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBCcm93c2VyUmVnaXN0cnkubGlzdCgpXG5cbiAgICBpZiAocGFyc2VkLmZsYWdzLmpzb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGVudHJpZXMsIG51bGwsIDIpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICBjb25zb2xlLmxvZyhgJHtlbnRyeS5uYW1lfVxcdCR7ZW50cnkucG9ydH1cXHRwaWQ9JHtlbnRyeS5waWR9YClcbiAgICB9XG4gIH0gZWxzZSBpZiAobWFpbkNvbW1hbmQgPT09IFwiYnJvd3Nlci1zdG9wXCIpIHtcbiAgICBjb25zdCBzdG9wcGVkRW50cnkgPSBhd2FpdCBCcm93c2VyUmVnaXN0cnkuc3RvcChwYXJzZWQuZmxhZ3MubmFtZSlcblxuICAgIGlmIChwYXJzZWQuZmxhZ3MuanNvbikge1xuICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoc3RvcHBlZEVudHJ5LCBudWxsLCAyKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBTdG9wcGVkICR7c3RvcHBlZEVudHJ5Lm5hbWV9XFx0cGlkPSR7c3RvcHBlZEVudHJ5LnBpZH1gKVxuICB9IGVsc2UgaWYgKG1haW5Db21tYW5kID09PSBcImJyb3dzZXItY29tbWFuZFwiKSB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IEJyb3dzZXJDb21tYW5kQ2xpZW50KHtcbiAgICAgIG5hbWU6IHBhcnNlZC5mbGFncy5uYW1lLFxuICAgICAgcG9ydDogcGFyc2VkLmZsYWdzLnBvcnQgPyBOdW1iZXIocGFyc2VkLmZsYWdzLnBvcnQpIDogdW5kZWZpbmVkXG4gICAgfSlcbiAgICBjb25zdCB7YXJncywgY29tbWFuZH0gPSByZXNvbHZlQnJvd3NlckNvbW1hbmQocGFyc2VkLmZsYWdzKVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5zZW5kKHthcmdzLCBjb21tYW5kLCB0eXBlOiBcImJyb3dzZXItY29tbWFuZFwifSlcblxuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHJlc3VsdCwgbnVsbCwgMikpXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGNvbW1hbmQ6ICR7bWFpbkNvbW1hbmR9YClcbiAgfVxufVxuXG5tYWluKHByb2Nlc3MuYXJndi5zbGljZSgyKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpKVxuICBwcm9jZXNzLmV4aXQoMSlcbn0pXG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxvQkFBb0IsTUFBTSw2QkFBNkIsQ0FBQTtBQUM5RCxPQUFPLGNBQWMsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLGVBQWUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFakUsc0JBQXNCO0FBQ3RCLFNBQVMsU0FBUztJQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDOzs7Ozs7Ozs7O0NBVWIsQ0FBQyxDQUFBO0FBQ0YsQ0FBQztBQUVEOzs7R0FHRztBQUNILEtBQUssVUFBVSxJQUFJLENBQUMsSUFBSTtJQUN0QixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUvQixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEMsU0FBUyxFQUFFLENBQUE7UUFDWCxPQUFNO0lBQ1IsQ0FBQztJQUVELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO1FBQzVDLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQztZQUN4QyxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDakMsV0FBVyxFQUFFO2dCQUNYLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0s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LElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNwRCxDQUFDO0FBQ0gsQ0FBQztBQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDckUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqQixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcblxuaW1wb3J0IEJyb3dzZXJDb21tYW5kQ2xpZW50IGZyb20gXCIuL2Jyb3dzZXItY29tbWFuZC1jbGllbnQuanNcIlxuaW1wb3J0IEJyb3dzZXJQcm9jZXNzIGZyb20gXCIuL2Jyb3dzZXItcHJvY2Vzcy5qc1wiXG5pbXBvcnQgQnJvd3NlclJlZ2lzdHJ5IGZyb20gXCIuL2Jyb3dzZXItcmVnaXN0cnkuanNcIlxuaW1wb3J0IHtwYXJzZUFyZ3YsIHJlc29sdmVCcm93c2VyQ29tbWFuZH0gZnJvbSBcIi4vY2xpLWhlbHBlcnMuanNcIlxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5mdW5jdGlvbiBwcmludEhlbHAoKSB7XG4gIGNvbnNvbGUubG9nKGBVc2FnZTpcbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3NlciA8bmFtZT4gWy0tcG9ydCAxOTkxXSBbLS1iYXNlLXVybCBodHRwczovL2V4YW1wbGUuY29tXVxuICBzeXN0ZW0tdGVzdGluZyBicm93c2VyLWxpc3RcbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1zdG9wIFstLW5hbWUgbXktYnJvd3Nlcl1cbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1jb21tYW5kIFstLW5hbWUgbXktYnJvd3Nlcl0gWy0tcG9ydCAxOTkxXSAtLXZpc2l0PWh0dHBzOi8vZXhhbXBsZS5jb21cbiAgc3lzdGVtLXRlc3RpbmcgYnJvd3Nlci1jb21tYW5kIFstLW5hbWUgbXktYnJvd3Nlcl0gLS1maW5kLWJ5LXRlc3QtaWQgc29tZUlEIFstLXRpbWVvdXQgMTVdXG4gIHN5c3RlbS10ZXN0aW5nIGJyb3dzZXItY29tbWFuZCBbLS1uYW1lIG15LWJyb3dzZXJdIC0tdGFrZS1zY3JlZW5zaG90XG4gIHN5c3RlbS10ZXN0aW5nIGJyb3dzZXItY29tbWFuZCBbLS1uYW1lIG15LWJyb3dzZXJdIC0tY2xpY2sgc2VsZWN0b3IgWy0tbWV0aG9kIGh1bWFuXSBbLS1jbGljay1vZmZzZXQteCAzMl0gWy0tY2xpY2stb2Zmc2V0LXkgMjhdIFstLWh1bWFuLXN0ZXBzIDVdIFstLWh1bWFuLXN0ZXAtZGVsYXkgNzVdXG4gIHN5c3RlbS10ZXN0aW5nIGJyb3dzZXItY29tbWFuZCBbLS1uYW1lIG15LWJyb3dzZXJdIC0tY29tbWFuZD1leGVjdXRlU2NyaXB0IC0tc2NyaXB0PSdyZXR1cm4gZG9jdW1lbnQudGl0bGUnIFstLWFyZyAuLi5dXG4gIHN5c3RlbS10ZXN0aW5nIGJyb3dzZXItY29tbWFuZCBbLS1uYW1lIG15LWJyb3dzZXJdIC0tY29tbWFuZD1hZGRDb29raWUgLS1jb29raWUtbmFtZT1hdXRoIC0tY29va2llLXZhbHVlPS4uLiBbLS1jb29raWUtZG9tYWluPTEyNy4wLjAuMV0gWy0tY29va2llLXBhdGg9L11cbmApXG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gYXJndlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIG1haW4oYXJndikge1xuICBjb25zdCBwYXJzZWQgPSBwYXJzZUFyZ3YoYXJndilcbiAgY29uc3QgbWFpbkNvbW1hbmQgPSBwYXJzZWQuX1swXVxuXG4gIGlmICghbWFpbkNvbW1hbmQgfHwgcGFyc2VkLmZsYWdzLmhlbHApIHtcbiAgICBwcmludEhlbHAoKVxuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKG1haW5Db21tYW5kID09PSBcImJyb3dzZXJcIikge1xuICAgIGNvbnN0IG5hbWUgPSBwYXJzZWQuX1sxXVxuXG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJicm93c2VyIHJlcXVpcmVzIGEgbmFtZVwiKVxuICAgIH1cblxuICAgIGNvbnN0IGJyb3dzZXJQcm9jZXNzID0gbmV3IEJyb3dzZXJQcm9jZXNzKHtcbiAgICAgIGJhc2VVcmw6IHBhcnNlZC5mbGFnc1tcImJhc2UtdXJsXCJdLFxuICAgICAgYnJvd3NlckFyZ3M6IHtcbiAgICAgICAgZHJpdmVyOiBwYXJzZWQuZmxhZ3MuZHJpdmVyID8ge3R5cGU6IHBhcnNlZC5mbGFncy5kcml2ZXJ9IDogdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgZGVidWc6IHBhcnNlZC5mbGFncy5kZWJ1ZyA9PT0gdHJ1ZSB8fCBwYXJzZWQuZmxhZ3MuZGVidWcgPT09IFwidHJ1ZVwiLFxuICAgICAgbmFtZSxcbiAgICAgIHBvcnQ6IHBhcnNlZC5mbGFncy5wb3J0ID8gTnVtYmVyKHBhcnNlZC5mbGFncy5wb3J0KSA6IDBcbiAgICB9KVxuXG4gICAgYXdhaXQgYnJvd3NlclByb2Nlc3Muc3RhcnQoKVxuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHtuYW1lLCBwaWQ6IHByb2Nlc3MucGlkLCBwb3J0OiBicm93c2VyUHJvY2Vzcy5wb3J0fSkpXG4gICAgYXdhaXQgbmV3IFByb21pc2UoKCkgPT4ge30pXG4gIH0gZWxzZSBpZiAobWFpbkNvbW1hbmQgPT09IFwiYnJvd3Nlci1saXN0XCIpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gYXdhaXQgQnJvd3NlclJlZ2lzdHJ5Lmxpc3QoKVxuXG4gICAgaWYgKHBhcnNlZC5mbGFncy5qc29uKSB7XG4gICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShlbnRyaWVzLCBudWxsLCAyKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc29sZS5sb2coYCR7ZW50cnkubmFtZX1cXHQke2VudHJ5LnBvcnR9XFx0cGlkPSR7ZW50cnkucGlkfWApXG4gICAgfVxuICB9IGVsc2UgaWYgKG1haW5Db21tYW5kID09PSBcImJyb3dzZXItc3RvcFwiKSB7XG4gICAgY29uc3Qgc3RvcHBlZEVudHJ5ID0gYXdhaXQgQnJvd3NlclJlZ2lzdHJ5LnN0b3AocGFyc2VkLmZsYWdzLm5hbWUpXG5cbiAgICBpZiAocGFyc2VkLmZsYWdzLmpzb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHN0b3BwZWRFbnRyeSwgbnVsbCwgMikpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgU3RvcHBlZCAke3N0b3BwZWRFbnRyeS5uYW1lfVxcdHBpZD0ke3N0b3BwZWRFbnRyeS5waWR9YClcbiAgfSBlbHNlIGlmIChtYWluQ29tbWFuZCA9PT0gXCJicm93c2VyLWNvbW1hbmRcIikge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBCcm93c2VyQ29tbWFuZENsaWVudCh7XG4gICAgICBuYW1lOiBwYXJzZWQuZmxhZ3MubmFtZSxcbiAgICAgIHBvcnQ6IHBhcnNlZC5mbGFncy5wb3J0ID8gTnVtYmVyKHBhcnNlZC5mbGFncy5wb3J0KSA6IHVuZGVmaW5lZFxuICAgIH0pXG4gICAgY29uc3Qge2FyZ3MsIGNvbW1hbmR9ID0gcmVzb2x2ZUJyb3dzZXJDb21tYW5kKHBhcnNlZC5mbGFncylcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjbGllbnQuc2VuZCh7YXJncywgY29tbWFuZCwgdHlwZTogXCJicm93c2VyLWNvbW1hbmRcIn0pXG5cbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpKVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBjb21tYW5kOiAke21haW5Db21tYW5kfWApXG4gIH1cbn1cblxubWFpbihwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpLmNhdGNoKChlcnJvcikgPT4ge1xuICBjb25zb2xlLmVycm9yKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSlcbiAgcHJvY2Vzcy5leGl0KDEpXG59KVxuIl19
@@ -118,6 +118,14 @@ export default class AppiumDriver extends WebDriverDriver {
118
118
  * @returns {Promise<import("selenium-webdriver").WebElement>} Native element containing the text.
119
119
  */
120
120
  findByNativeText(expectedText: string, args?: FindArgs): Promise<import("selenium-webdriver").WebElement>;
121
+ /**
122
+ * Waits until a test id owns expected visible text or an accessibility label.
123
+ * @param {string} testId Stable native resource id suffix.
124
+ * @param {string} expectedText Text that must appear under the test id.
125
+ * @param {FindArgs} [args] Optional lookup settings.
126
+ * @returns {Promise<void>}
127
+ */
128
+ waitForTestIDText(testId: string, expectedText: string, args?: FindArgs): Promise<void>;
121
129
  /**
122
130
  * Finds a native Android control by resource id, scrolling it into view first when requested.
123
131
  * @param {string} testId Stable native resource id suffix.
@@ -132,6 +140,18 @@ export default class AppiumDriver extends WebDriverDriver {
132
140
  * @returns {Promise<import("selenium-webdriver").WebElement>} Matching native element.
133
141
  */
134
142
  findNativeControlWithScrolling(lookup: NativeControlLookup, args?: FindArgs): Promise<import("selenium-webdriver").WebElement>;
143
+ /**
144
+ * Searches native content around the current viewport so retained offsets and
145
+ * below-fold targets are both reachable without exhausting the timeout budget.
146
+ * @param {() => Promise<import("selenium-webdriver").WebElement>} directFind Lookup to retry after each scroll.
147
+ * @param {string[]} scrollContainerTestIDs Native test IDs that may identify scroll containers.
148
+ * @returns {Promise<import("selenium-webdriver").WebElement>} Matching control.
149
+ */
150
+ findNativeControlWithViewportScan(directFind: () => Promise<import("selenium-webdriver").WebElement>, scrollContainerTestIDs: string[]): Promise<import("selenium-webdriver").WebElement>;
151
+ /**
152
+ * @returns {NativeViewportScrollState} Fresh scroll fallback state.
153
+ */
154
+ newNativeViewportScrollState(): NativeViewportScrollState;
135
155
  /**
136
156
  * Runs explicit native polling without Appium's implicit wait extending every failed probe.
137
157
  * @template TResult Result type.
@@ -141,18 +161,20 @@ export default class AppiumDriver extends WebDriverDriver {
141
161
  */
142
162
  withNativeImplicitWait<TResult>(implicitWaitMs: number, callback: () => Promise<TResult>): Promise<TResult>;
143
163
  /**
144
- * Scrolls the visible native viewport down when UiScrollable cannot identify the owning ScrollView.
164
+ * Scrolls the visible native viewport when UiScrollable cannot identify the owning ScrollView.
145
165
  * @param {NativeViewportScrollState} scrollState Per-lookup Appium scroll state.
146
166
  * @param {string[]} scrollContainerTestIDs Native test IDs that may identify scroll containers.
167
+ * @param {NativeViewportScrollDirection} direction Direction to scroll the content.
147
168
  * @returns {Promise<void>} Resolves after Appium performs the gesture.
148
169
  */
149
- scrollNativeViewportDown(scrollState: NativeViewportScrollState, scrollContainerTestIDs: string[]): Promise<void>;
170
+ scrollNativeViewport(scrollState: NativeViewportScrollState, scrollContainerTestIDs: string[], direction: NativeViewportScrollDirection): Promise<void>;
150
171
  /**
151
172
  * Scrolls a specific native Android element by test id when Appium exposes it as a scroll container.
152
173
  * @param {string} testId Stable native resource id suffix.
174
+ * @param {NativeViewportScrollDirection} direction Direction to scroll the content.
153
175
  * @returns {Promise<boolean>} Whether Appium reported more content to scroll.
154
176
  */
155
- scrollNativeElementDown(testId: string): Promise<boolean>;
177
+ scrollNativeElement(testId: string, direction: NativeViewportScrollDirection): Promise<boolean>;
156
178
  /**
157
179
  * Moves an offscreen Android control into a ScrollView-backed native hierarchy.
158
180
  * @param {string} uiSelector UiAutomator selector for the target control.
@@ -203,6 +225,10 @@ export type NativeViewportScrollState = {
203
225
  tryElementScroll: boolean;
204
226
  tryViewportScroll: boolean;
205
227
  };
228
+ /**
229
+ * Native viewport scroll direction.
230
+ */
231
+ export type NativeViewportScrollDirection = "down" | "up";
206
232
  /**
207
233
  * Native Android lookup work executed by the scrolling poller.
208
234
  */