应用程序路径必须是绝对的,或者相对于appium server install目录,或者是压缩文件的URL,

时间:2015-12-25 03:32:52

标签: appium

我是appium的新手,在启动appium服务器之后,我尝试使用下面的代码运行我打开whatsapp的简单程序,但我以错误“Bad app”结束。

public class WatsApp {
    public static void main(String[] args) throws MalformedURLException {
        File app = new File("‪E:\\appium\\APK files\\com.whatsapp.apk");
        WebDriver dr;
        DesiredCapabilities cap = DesiredCapabilities.android();
        cap.setCapability(CapabilityType.BROWSER_NAME, "");
        cap.setCapability("deviceName", "SM-N750");
        cap.setCapability("platformVersion", "4.4.2");
        cap.setCapability("platformName", "Android");
        cap.setCapability("app", app.getAbsolutePath());
        dr= new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        dr.quit();
    }
}
  

错误:无法启动Appium会话,错误是:错误:应用程序错误:E:\ appium \ appium_work \ basicappium \ _E:\ appium \ APK files \ com.whatsapp.apk。应用程序路径必须是绝对的,或相对于appium服务器安装目录,或压缩文件的URL或特殊应用程序名称。原因:错误:找到应用程序时出错:ENOENT,stat'E:\ appium \ appium_work \ basicappium \ _E:\ appium \ APK files \ com.whatsapp.apk'   info:[debug]提供了以下所需功能,但appium无法识别。它们将被传递给在此服务器上运行的任何其他服务。 :平台,版本   info:[debug]没有appActivity所需的功能或服务器参数。从apk解析。   info:[debug]没有appPackage所需的功能或服务器参数。从apk解析。   info:[debug]使用所需大写的本地应用程序:E:\ appium \ appium_work \ basicappium \ _E:\ appium \ APK files \ com.whatsapp.apk   info:[debug]收到配置错误,没有启动会话   info:[debug]清理appium会话   info:[debug]错误:应用程序错误:E:\ appium \ appium_work \ basicappium \ _E:\ appium \ APK files \ com.whatsapp.apk。应用程序路径必须是绝对的,或相对于appium服务器安装目录,或压缩文件的URL或特殊应用程序名称。原因:错误:找到应用程序时出错:ENOENT,stat'E:\ appium \ appium_work \ basicappium \ _E:\ appium \ APK files \ com.whatsapp.apk'       在[object Object]。 (C:\ Program Files \ Appium \ node_modules \ appium \ lib \ devices \ android \ android-common.js:56:13)       在C:\ Program Files \ Appium \ node_modules \ appium \ lib \ devices \ device.js:82:16       在Object.oncomplete(fs.js:107:15)

请事先帮助我,谢谢

3 个答案:

答案 0 :(得分:1)

使用此

String appPath = "‪E:\\appium\\APK files\\com.whatsapp.apk";
cap.setCapability("app", appPath ); \\ I am assuming there is such a capability and you know about it

答案 1 :(得分:1)

试试这个......

 String apkpath="D:\\latest Android Apps\\Test.apk";
    File app=new File(apkpath);
capabilities.setCapability("app", app.getAbsolutePath());

希望它能奏效:)

答案 2 :(得分:0)

你尝试过任何其他apk,可能是你的&#39; com.whatsapp.apk&#39;已经腐败了。

如果在目录名之间保留空格,appium UI应用程序将抛出错误。以编程方式,它不是问题。