我是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)
请事先帮助我,谢谢
答案 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应用程序将抛出错误。以编程方式,它不是问题。