无法在 appium 驱动程序中执行脚本。但是脚本片段在 Appium 检查器中有效。是否有解决此问题的所需功能?

Not able to executeScript in appiumdriver. However the script snippet works in Appium inspector. Is there any desired capability to fix this?

我有一个 android 屏幕,其中实施了 android-IME onEditorAction。我正在使用 appium UI 测试自动化。我正处于 我能够通过 appium 检查器执行脚本的步骤。但是我无法从我的 Java 项目 中执行它。我正在生成 appiumserver 作为服务。 需要社区帮助 来了解我是否在 appiumDriver/appiumServer 初始化中缺少任何所需的功能。


工具版本

在 Appium 检查器上

在 Java 中编写的相同操作脚本为:

driver.executeScript("mobile: performEditorAction", ImmutableMap.of("action", "done"));
    

现有的 appiumdriver 功能:

            DesiredCapabilities cap = new DesiredCapabilities();
            cap.setCapability(MobileCapabilityType.PLATFORM_NAME, platform);
            cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, platformVersion);
            cap.setCapability(MobileCapabilityType.DEVICE_NAME, deviceName);
            cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");
            cap.setCapability(MobileCapabilityType.APP, appPath);
            cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
            cap.setCapability(MobileCapabilityType.SUPPORTS_JAVASCRIPT, "true");
            mobileDriver = new AndroidDriver<MobileElement>(new URL(url), cap);

现有的 appiumServer 功能:

    cap = new DesiredCapabilities();
    cap.setCapability("noReset", "false");

    builder = new AppiumServiceBuilder();
    builder.withIPAddress(ip);
    builder.usingAnyFreePort();
    builder.withCapabilities(cap);
    builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
    builder.withArgument(GeneralServerFlag.LOG_LEVEL, "error");
    builder.withArgument(() -> "--allow-insecure","chromedriver_autodownload");
    tlogger.info("About to start the appium service");
    service = AppiumDriverLocalService.buildService(builder);
    service.start();

触发脚本片段时,没有任何反应。

啊!我错过了关注文本字段。单击文本框 mobileElement 后,上面的脚本 运行 没问题。