【问题标题】:Failed to start an Appium session, err was: Error: 'java -version' failed无法启动 Appium 会话,错误是:错误:'java -version' 失败
【发布时间】:2015-10-28 23:22:41
【问题描述】:

大家好,所以我基本上已经完成了启动 appium 所需的工作。 安装JDK 1.8(最新版本) 已安装的 Android SDK 更新了环境变量 安装appium 1.4(最新版) 将手机连接到电脑后安装Eclipse并创建一个新的java项目。

我将 .apk 文件导入到项目中,并在设置所需的功能时。我的代码中没有任何错误。启动 appium 后,我运行代码并收到以下错误:

启动节点服务器 警告:Appium 对 node POST /wd/hub/session {"desiredCapabilities":{"app":"C:\Users\svaradar\workspace\LiftMasterAndroidApp\LM_APK\LiftMaster.apk","appPackage":"com.chamberlain. myq.chamberlain","appActivity":"com.chamberlain.myq.activity.LoginActivity","browserName":"","platformName":"Android","version":"5.0","deviceName":"e6feb2e2 "}} 信息:客户端用户代理字符串:Apache-HttpClient/4.4.1 (Java/1.8.0_51) info: [debug] 提供了以下所需功能,但 appium 无法识别。它们将被传递到此服务器上运行的任何其他服务。 : 版本 信息:[调试] 使用来自所需上限的本地应用程序:C:\Users\svaradar\workspace\LiftMasterAndroidApp\LM_APK\LiftMaster.apk 信息:[调试] 创建新的 appium 会话 27b1f84e-556e-4881-8afc-d9ea50941f12 错误:无法启动 Appium 会话,错误是:错误:'java -version' 失败。错误:生成 ENOENT 信息:启动 android appium 信息:[调试] 获取 Java 版本 信息:[调试] 清理 android 对象 信息:[调试] 清理 appium 会话 信息:[调试]错误:'java -version'失败。错误:生成 ENOENT 在 [对象对象]。 (C:\Users\svaradar\Desktop\Automation\Appium\node_modules\appium\lib\devices\android\android-common.js:1057:17) 在 exithandler (child_process.js:633:7) 在 ChildProcess.errorhandler (child_process.js:649:5) 在 ChildProcess.EventEmitter.emit (events.js:95:17) 在 Process.ChildProcess._handle.onexit (child_process.js:795:12) 信息:[调试]响应客户端错误:{“status”:33,“value”:{“message”:“无法创建新会话。(原始错误:'java -version'失败。错误:spawn ENOENT)","origValue":"'java -version' 失败。错误:spawn ENOENT"},"sessionId":null} 信息:

这是我的代码:

package LiftMasterLaunch;

import java.net.MalformedURLException;
import java.net.URL;
import java.io.File;


import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.junit.*;


import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;


public class openApp {

@SuppressWarnings("rawtypes")
private AppiumDriver driver;


@SuppressWarnings("rawtypes")
@Before
public void setUp() throws Exception{


    File classpathRoot = new File(System.getProperty("user.dir"));
    File appDir = new File(classpathRoot, "/LM_APK" );
    File app = new File(appDir, "LiftMaster.apk" );

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability("platformName","Android");
    capabilities.setCapability(CapabilityType.VERSION, "5.0");
    capabilities.setCapability("deviceName", "e6feb2e2");
    capabilities.setCapability("app", app.getAbsolutePath());
    capabilities.setCapability("appPackage", "com.chamberlain.myq.chamberlain");
    capabilities.setCapability("appActivity", "com.chamberlain.myq.activity.LoginActivity");
    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);


}

@Test
public void testApp() throws Exception {

    driver.findElement(By.xpath(("//android.widget.EditText[@text='Account Email']"))).sendKeys("Swaroopvaradarajan@gmail.com");

}


@After
public void tearDown() throws Exception {
    driver.quit();
}

}

【问题讨论】:

    标签: appium


    【解决方案1】:

    在我的情况下,解决方案是在 Appium 和 Android 路径之前的 PATH 中设置 java。

    【讨论】:

      【解决方案2】:

      我已解决此问题,并正在更新此问题,以防其他人遇到此问题。

      我所要做的就是在我的系统变量下为 Path 添加“%SystemRoot%\system32”。这解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-04
        • 2017-07-01
        • 2016-02-15
        • 2015-02-22
        • 2015-04-23
        • 2021-03-18
        • 1970-01-01
        • 2023-03-13
        相关资源
        最近更新 更多