首页 > 解决方案 > Appium Flutter 驱动程序 | capabilities.setCapability("automationName", "Flutter") 失败

问题描述

我创建了一个自动化项目来使用 appium 颤振驱动程序测试颤振应用程序。但我不能使用颤振驱动程序。

我的自动化项目没有将automationName 检测为颤动。即使我尝试 driver.context("FLUTTER"); 我收到 NoSuchContextException 错误。

service = AppiumDriverLocalService
                  .buildService(new AppiumServiceBuilder()
                          .usingDriverExecutable(new File("/usr/local/bin/node"))
                          .withAppiumJS(
                                  new File("/usr/local/lib/node_modules/appium/build/lib/main.js"))
                          .withIPAddress("127.0.0.1").usingPort(4723));
    service.start();

        DesiredCapabilities capabilities = new DesiredCapabilities();
          File appDir = new File(System.getProperty("user.dir")+"/app");
          File app = new File (appDir,"app-debug.apk");
          capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
          capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
          capabilities.setCapability("automationName", "Flutter");
          capabilities.setCapability("appPackage", "com.example.flutter_intellij_test");
     capabilities.setCapability("appActivity","com.example.flutter_intellij_test.MainActivity");

        driver = new AndroidDriver<MobileElement>(service.getUrl(), capabilities);
        wait = new WebDriverWait(driver, 10);
        
        find = new FlutterFinder(driver);

标签: javaflutterappium

解决方案


确保您的 Appium 服务器版本高于1.6

Java客户端不应该有任何特定的东西,只需尝试以这种方式更改您的功能:

DesiredCapabilities capabilities = new DesiredCapabilities();
File appDir = new File(System.getProperty("user.dir")+"/app");
File app = new File (appDir,"app-debug.apk");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("automationName", "Flutter");
capabilities.setCapability("retryBackoffTime", "500");
capabilities.setCapability("deviceName", <value from `adb devices`>);
driver = new AndroidDriver<MobileElement>(service.getUrl(), capabilities);

下次发布 Appium 服务器日志 :)


推荐阅读