Appium:异常:发生无效的服务器实例异常:没有安装的节点

nic*_*las 5 java 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());
        }
Run Code Online (Sandbox Code Playgroud)

错误日志:

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

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

App*_*tri 6

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

npm install -g appium


小智 1

我最后遇到了同样的问题

  1. 尝试从命令行运行节点服务器实例,只需键入“node”并输入 -- server should get start
  2. 打开另一个终端窗口,然后通过执行“ps eww”检查进程运行的所有详细信息是否正常
  3. 这里应该显示正在运行的节点进程
  4. 只需在执行“ps eww”的同一命令窗口中键入“Killall Node”即可终止“节点服务器”
  5. “节点”窗口将显示进程已终止。

是时候了解真相了,运行你的脚本,一切都会顺利进行

我用 appium - 1.9.0 node - 11.9.0 npm version - 6.5.0 testscript - Java tool - Eclipse platform - iOS (10.14) 做到了这一点