FAILED:invokeApp org.openqa.selenium.SessionNotCreatedException:无法创建新会话

时间:2016-07-11 11:32:12

标签: selenium-webdriver appium-ios

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

import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;

public class Demo {

AndroidDriver driver =null;
DesiredCapabilities capabilities;
File app = new File("/data/app/com.philips.sleepmapper.root-1/base.apk");

@Test
public void invokeApp() throws MalformedURLException
{
    capabilities = new DesiredCapabilities();
    capabilities.setCapability("automationName", "Appium");
    capabilities.setCapability("paltformName", "Android");
    capabilities.setCapability("platformVersion", "6.0.1");
    capabilities.setCapability("deviceNmae", "Galaxy S6");

    capabilities.setCapability("app", app.getAbsolutePath());

    capabilities.setCapability("appPackage","com.philips.sleepmapper.root");
    capabilities.setCapability("appactivity","com.philips.sleepmapper.activity.SplashScreenActivity");

    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

}

}

执行此代码时,我收到以下错误:

  

失败:invokeApp org.openqa.selenium.SessionNotCreatedException:A   无法创建新会话。 (原始错误:糟糕的应用:   C:\数据\应用\ com.philips.sleepmapper.root-1 \ base.apk。应用路径需要   是绝对的,或相对于appium服务器。

1 个答案:

答案 0 :(得分:2)

您的应用程序APK的路径设置不正确。我需要知道你的文件结构才能给出确切的答案,但这是我认为错误的。

您很可能尝试在C:\path\to\my\project\data\app\com.philips.sleepmapper.root-1\base.apk

提供应用程序

如果您在C:\path\to\my\project中运行Appium并尝试将相对路径传递给APK,那么您将错过Appium测试代码中的点。将代码中的路径更改为

File app = new File("./data/app/com.philips.sleepmapper.root-1/base.apk");

要使其从任何文件夹(绝对路径)起作用,请将代码更改为

File app = new File("C:\path\to\my\project\data\app\com.philips.sleepmapper.root-1\base.apk");

请记住将path\to\my\project替换为您正在使用的真实路径。