首页 > 解决方案 > Appium:异常:发生了无效的服务器实例异常:没有安装的节点

问题描述

我尝试以编程方式启动 appium 服务器,但遇到错误。如何解决这个问题?我已经安装了 nodejs 并安装了 appium 并正确设置了 environemnt 变量。我正在使用 maven appium java 客户端 6.1.0 和 selenium 3.14.0。请帮助。十亿感谢您的帮助。

代码:

try {
            File appDir = new File(System.getProperty("user.dir"));
            File app = new File(appDir, "..\\apk\\Flipkart.apk");

            // apk Capabilities
            DesiredCapabilities caps = new DesiredCapabilities();
            caps.setCapability("deviceName", "Sony Xperia Z2");
            caps.setCapability("BROWSER_NAME", "Android");
            caps.setCapability("platformVersion", "6.0");
            caps.setCapability(MobileCapabilityType.PLATFORM_NAME, Platform.ANDROID);
            //caps.setCapability("udid", "WUJ01N4RQ3"); // DeviceId from "adb devices" command
            caps.setCapability("platformName", "Android");
            caps.setCapability("app", app.getAbsolutePath());
            caps.setCapability("appPackage", "com.flipkart.android");
            caps.setCapability("appActivity","com.flipkart.android.SplashActivity");

            // Appium Capabilities
            caps.setCapability("skipUnlock","true");
            caps.setCapability("noReset","false");

            appiumBuilder = new AppiumServiceBuilder();
            appiumBuilder.withIPAddress("127.0.0.1");
            appiumBuilder.usingPort(47233);
            appiumBuilder.withCapabilities(caps);
            appiumBuilder.withStartUpTimeOut(3, TimeUnit.MINUTES);
            appiumBuilder.withLogFile(new File(System.getProperty("user.dir") + "\\log\\appium.log"));
            appiumBuilder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
            appiumBuilder.withArgument(GeneralServerFlag.LOG_LEVEL, "DEBUG");
            appiumBuilder.withArgument(GeneralServerFlag.ASYNC_TRACE, "true");

            appiumServer = AppiumDriverLocalService.buildService(appiumBuilder);
            appiumServer.start();
            //new URL("http://127.0.0.1:47233/wd/hub")
            driver = new AndroidDriver<MobileElement>(appiumServer, caps);
            driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

        } catch (Exception ex) {
            LogManager.logger.log(Level.INFO, "Exception: " + ex.getMessage());
        }

错误日志:

信息:异常:发生无效服务器实例异常:没有安装节点!请通过 NPM ( https://www.npmjs.com/package/appium#using-node-js ) 安装 node 或下载并安装 Appium 应用程序 ( http://appium.io/downloads.html ) Jan 03, 2019 3 :52:12 PM com.peterwkc.testManager.AndroidManager 拆解信息:异常:空

编辑:我相信 appium 源代码无法检测到我安装的 nodejs 和 appium。

标签: javaappium

解决方案


尝试全局安装 Appium。这为我解决了这个问题。

npm install -g appium


推荐阅读