@ appium/ execute- driver- plugin (英语)
运行子进程驱动脚本的 Appium 插件
这个插件增加了一个新的服务器端点,允许在子进程执行脚本. 目前,
唯一支持的驱动程序类型是 webdriverio因此,剧本也必须用联署材料写出.
动机
在子进程中运行驱动脚本会增加一定的平行度, 这可能导致 更快的测试执行.
[尖叫声] 此插件允许执行任意 JavaScript 代码 。 我们建议只在受控环境中使用此插件 。 脚本运行在一个节点.js
vm上下文对 WebdriverIO 驱动程序进行了硬化视图(host-realm 原型元数据未曝光),但vm仍然不是未信任代码的完整安全边界; 将此插件视为高度特权 .
安装
appium plugin install execute-driver
使用量
和所有插件一样,这个插件在启动Appium服务器时必须明确被激活. 自兹 输入脚本可以是任意 JavaScript, 这是 一个不安全的特征, (中文(简体) ), 还必须明确允许:
appium --use-plugins=execute-driver --allow-insecure=<driver>:execute_driver_script
一旦插件运行,您就可以调用新命令 :
// JavaScript (WebdriverIO)
const script = `return await driver.getTimeouts();`;
const {result, logs} = await driver.executeDriverScript(script);
// 'result' contains the data returned by the script (in this case, the response to 'getTimeouts')
// 'logs' contains everything logged to console during script execution
参见您的 Appium 客户端文档, 以了解脚本执行命令的确切语法 .
自插件版本以来 6.0.0,脚本也可以使用 setTimeout编号 :clearTimeout 方法,
允许使用无条件的延迟:
// this will take around one second to execute
const script = `return await new Promise((resolve) => setTimeout(resolve, 1000));`;
API 密码
参见Appium文件。 。 。 .
许可证
阿帕奇 - 2.0