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());
}
错误日志:
信息:异常:发生无效服务器实例异常:没有安装节点!请通过 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。
解决方案
尝试全局安装 Appium。这为我解决了这个问题。
npm install -g appium
推荐阅读
- javascript - 如何将值从选项选择传递到按钮中的 url
- xml - LocalDate 字段在 xml 响应中变为空白
- alexa - Alexa的场景限制是多少?
- python - 在 Python 中识别和连接连续的 x,y 轨迹
- sharepoint - Sharepoint SPFx ${} 在渲染方法中用空格替换斜杠
- ios - iOS UITableView 单元格被重复
- github - 如何将 Github 代码所有者文件仅限于特定分支?
- tcp - 如何修复 Ubuntu 18.04 中的高延迟和重传率
- python - AttributeError:“NoneType”对象没有“提及”属性
- r - 更改 netcdf 的投影