Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法启动实际应用程序,但加载helloworld_Java_Android_Mobile_Automation_Appium - Fatal编程技术网

Java 无法启动实际应用程序,但加载helloworld

Java 无法启动实际应用程序,但加载helloworld,java,android,mobile,automation,appium,Java,Android,Mobile,Automation,Appium,运行脚本后,屏幕显示如下: 当我尝试实际启动selenroid应用程序时,有人能告诉我为什么我从以下脚本调用的应用程序没有启动吗 testthis.java代码(在第二个包名下): } MainActivity.java-在第一个包下: } AndroidMainfest.xml代码: Appiumg日志:未报告任何错误: 信息:欢迎使用Appium v1.4.16(版本ae6877eff263066b26328d457bd285c0cc62430d) 信息:Appium REST ht

运行脚本后,屏幕显示如下:

当我尝试实际启动selenroid应用程序时,有人能告诉我为什么我从以下脚本调用的应用程序没有启动吗

testthis.java代码(在第二个包名下): }

MainActivity.java-在第一个包下: }

AndroidMainfest.xml代码:

Appiumg日志:未报告任何错误:

信息:欢迎使用Appium v1.4.16(版本ae6877eff263066b26328d457bd285c0cc62430d) 信息:Appium REST http接口侦听器于127.0.0.1:4723启动 信息:[调试]非默认服务器参数:{“地址”:“127.0.0.1”,“logNoColors”:true,“deviceName”:“Lokesh Gangaiah”,“platformName”:“Android”,“platformVersion”:“21”,“automationName”:“Appium”,“language”:“en”,“locale”:“AU”} 信息:控制台日志级别:调试

eclipse控制台中的日志:

安卓发布! 亚行运行正常。 正在执行com.example.myapp1.main活动启动 正在将myapp1.apk上载到设备“00bd9781” 正在安装myapp1.apk。。。 成功! 在设备00bd9781上启动活动com.example.myapp1.main活动 ActivityManager:Starting:Intent{act=android.Intent.action.MAIN cat=[android.Intent.category.LAUNCHER]cmp=com.example.myapp1/.MainActivity}


在为您的
AppiumDriver
提供
功能时(在您的案例中为
AndroidDriver
),您要为其创建自动化测试套件的应用程序使用以下功能指定,在注释中提到,假设您提供的值正确:

capabilities.setCapability(MobileCapabilityType.APP, "<path to the application>"); // adding this should help
// Specific to Android application
capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, "<package name of the app>"); // your case 'io.selendroid.testapp'
capabilities.setCapability(MobileCapabilityType.APP_ACTIVITY, "<activity name you want to launch on the app to start>"); // your case 'io.selendroid.testapp.HomeScreenActivity'
capabilities.setCapability(MobileCapabilityType.APP,”);//添加这个应该会有所帮助
//特定于Android应用程序
capabilities.setCapability(MobileCapabilityType.APP_包“”)//你的案子“io.selendroid.testapp”
capabilities.setCapability(MobileCapabilityType.APP_活动)

这就是问题的原因,您一直在使用selendroid的示例包运行测试,同时希望自己构建的apk出现-

MobileCapabilityType.APP_PACKAGE : com.example.demo (line 1 from MainActivity.java and line 2 from AndroidManifest.xml)
MobileCapabilityType.APP_ACTIVITY : com.example.demo.MainActivity (from manifest file again <activity android:name=".MainActivity"..../>
MobileCapabilityType.APP_包:com.example.demo(MainActivity.java的第1行和AndroidManifest.xml的第2行)
MobileCapabilityType.APP_活动:com.example.demo.MainActivity(再次从清单文件

我希望在您这样做的同时,您还可以提供到应用程序目录的正确路径,并使用同一个包中的
元素。

同时向
应用程序驱动程序提供
功能
(在您的情况下,
AndroidDriver
)要为其创建自动化测试套件的应用程序是使用以下功能指定的,这些功能在假设您提供的值正确的注释中提到:

capabilities.setCapability(MobileCapabilityType.APP, "<path to the application>"); // adding this should help
// Specific to Android application
capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, "<package name of the app>"); // your case 'io.selendroid.testapp'
capabilities.setCapability(MobileCapabilityType.APP_ACTIVITY, "<activity name you want to launch on the app to start>"); // your case 'io.selendroid.testapp.HomeScreenActivity'
capabilities.setCapability(MobileCapabilityType.APP,”);//添加此选项应该会有所帮助
//特定于Android应用程序
capabilities.setCapability(MobileCapabilityType.APP_PACKAGE,“”;//您的案例'io.selendroid.testapp'
capabilities.setCapability(MobileCapabilityType.APP_活动)

这就是问题的原因,您一直在使用selendroid的示例包运行测试,同时希望自己构建的apk出现-

MobileCapabilityType.APP_PACKAGE : com.example.demo (line 1 from MainActivity.java and line 2 from AndroidManifest.xml)
MobileCapabilityType.APP_ACTIVITY : com.example.demo.MainActivity (from manifest file again <activity android:name=".MainActivity"..../>
MobileCapabilityType.APP_包:com.example.demo(MainActivity.java的第1行和AndroidManifest.xml的第2行)
MobileCapabilityType.APP_活动:com.example.demo.MainActivity(再次从清单文件


我希望在您这样做的同时,您也能提供到应用程序目录的正确路径,并使用同一软件包中的
元素。

在您的appium gui中,您是否提供了任何应用程序路径??启动的活动不是您期望的活动,是吗?appium中的日志也不完整,您能分享更多吗检查menifest文件中的包名、活动名称等。menifest文件中的名称和活动类名都应匹配。@sunderkandasamy应用程序中未指定路径gui@AmeeJoshi我在src下有两个包,第一个是:com.example.demo->MainActivity.java,第二个是:demolaunchfirst->testthis.java。我觉得它运行第一个包MainActivity.java(默认)总是一个。当我尝试以->运行配置的方式运行时,在Android选项卡下的单选按钮launch不会列出第二个.java文件(activity),因此我无法选择该选项。如果我选择第二个选项,我应该能够解决此问题。期待在您的appium gui中提供任何帮助,您是否提供了任何应用程序路径??启动的活动不是您预期的活动,是吗?此外,appium的日志不完整,您是否可以共享更多内容检查menifest文件中的程序包名称,活动名称等。menifest文件中的名称和活动类名都应匹配。@sunderkandasamy应用程序中未指定路径gui@AmeeJoshi我在src下有两个包,第一个是:com.example.demo->MainActivity.java,第二个是:demolaunchfirst->testthis.java。我感觉它运行第一个MainActivity.java(默认值)当我尝试以->运行配置的方式运行时,在Android选项卡下的单选按钮launch没有列出第二个.java文件(活动),因此我无法选择该选项。如果我选择第二个选项,我应该能够解决此问题。期待任何帮助。感谢您的建议,我们将尝试一下,您能告诉我将出现什么问题吗“”如果我是从实际设备启动类似于
/Users/Lokesh/WorkingDirectory//myApp1.apk
的东西,那么在您的目录中猜测apk的路径尝试过了,但仍然是相同的问题,这将非常有助于提供更多建议。您能否详细说明预期的应用程序启动之间的差异(包名称和活动名称)以及指定的结果应用程序(包名称和活动名称)
MobileCapabilityType.APP_PACKAGE : com.example.demo (line 1 from MainActivity.java and line 2 from AndroidManifest.xml)
MobileCapabilityType.APP_ACTIVITY : com.example.demo.MainActivity (from manifest file again <activity android:name=".MainActivity"..../>