简体   繁体   中英

A new session could not be created. (Original error: 'java -version' failed. Error: spawn ENOENT)

I'm trying to run a test that just opens whatsapp messenger using appium. I'm getting the error: A new session could not be created. (Original error: 'java -version' failed. Error: spawn ENOENT)

Here is my code:

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;


public class WhatsApp{

public static void main(String[] args) throws MalformedURLException, InterruptedException 
{

    WebDriver dr;
    String contact="1jyot";

    File app = new File("C:\\Users\\ppantouveris\\workspace\\Downloading and Running Appium\\apk\\WhatsApp.apk");
    DesiredCapabilities capabilities= new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
    capabilities.setCapability("deviceName", "Vodafone Smart 4G");
    capabilities.setCapability("platformVersion", "4.2.2");
    capabilities.setCapability("platformName", "Android");
    capabilities.setCapability("app", app.getAbsolutePath());

    capabilities.setCapability("appium-version", "1.3.4.1");

    capabilities.setCapability("appPackage", "com.whatsapp");
    //capabilities.setCapability("appActivity", "com.whatsapp.Main");
    capabilities.setCapability("appActivity", ".Main");


    dr = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities) ;
    dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}

}

Any ideas? Thanks!

You need to open the appium application and launch it using the same capabilities in your code. If you are already opened it the stop it and relaunch it again, after that run your test again.

You also need to make sure of your JAVA_HOME and ANDROID_HOME

您需要在代码中包含driver.quit()。

Problem solved! For some reason there was missing the path for System32 in my PATH variable! I realized it when i run android on command line and there was a message: xcopy is not recognized as an internal or external command although sdk manager was running normally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM