Appium-Execute Async(执行异步)

Execute Async Script

          • Example Usage
          • Description
          • Support
            • Appium Server
            • Appium Clients
          • HTTP API Specifications
            • Endpoint
            • URL Parameters
            • JSON Parameters
            • Response

Inject a snippet of JavaScript into the page for execution in the context of the currently selected frame (Web context only) //将JavaScript片段插入到页面中,以便在当前选定框架的环境中执行(仅限Web环境)

Example Usage
Java ((JavascriptExecutor) driver).executeAsyncScript("window.setTimeout(arguments[arguments.length - 1], 500);");
Python self.driver.execute_async_script(‘document.title’)
Javascript // webdriver.io example
driver.setAsyncTimeout(5000)
var result = browser.executeAsync(function(a, b, c, d, done) {
// browser context - you may access neither client nor console
setTimeout(function() {
done(a + b + c + d);
}, 3000);
}, 1, 2, 3, 4)

// node.js context - client and console are available
console.log(result); // outputs: 10

// wd example
await driver.safeExecuteAsync('document.title');
Ruby # ruby_lib example
execute_async_script("document.title")

# ruby_lib_core example
@driver.execute_async_script("document.title")
C# // TODO C# sample
PHP // TODO PHP sample
Description

The executed script is assumed to be asynchronous and must signal that is done by invoking the provided callback, which is always provided as the final argument to the function. The value to this callback will be returned to the client.
//假定执行的脚本是异步的,并且必须通过调用提供的回调来发出信号,该回调始终作为函数的最终参数提供。此回调的值将返回给客户端

Asynchronous script commands may not span page loads. If an unload event is fired while waiting for a script result, an error should be returned to the client.
//异步脚本命令不能跨越页面加载。如果在等待脚本结果时触发卸载事件,则应向客户端返回错误

The script argument defines the script to execute in teh form of a function body. The function will be invoked with the provided args array and the values may be accessed via the arguments object in the order specified. The final argument will always be a callback function that must be invoked to signal that the script has finished.
//异步脚本命令不能跨越页面加载。如果在等待脚本结果时触发卸载事件,则应向客户端返回错误。script参数定义以函数体形式执行的脚本

Arguments may be any JSON-primitive, array, or JSON object. JSON objects that define a WebElement reference will be converted to the corresponding DOM element. Likewise, any WebElements in the script result will be returned to the client as WebElement JSON objects.
//如果在等待脚本结果时触发卸载事件,则应向客户端返回错误。script参数定义以函数体形式执行的脚本。将使用提供的args数组调用该函数,并且可以按指定的顺序通过arguments对象访问这些值

Support
Appium Server
Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest None None None
UIAutomation None None None
Android Espresso None None None
UiAutomator2 None None None
UiAutomator None None None
Mac Mac None None None
Windows Windows None None None
Appium Clients
Language Support Documentation
Java All seleniumhq.github.io
Python All selenium-python.readthedocs.io
Javascript (WebdriverIO) All
Javascript (WD) All github.com
Ruby All www.rubydoc.info
PHP All github.com
C# All github.com
HTTP API Specifications
Endpoint

POST /session/:session_id/execute_async

URL Parameters
name description
session_id ID of the session to route the command to
JSON Parameters
name type description
script string The script to execute
args array The script arguments
Response

The script result (any)

你可能感兴趣的:(Appium,javascript,java,python,c#,测试类型)