Java 运行命令时遇到内部错误:错误:启动应用程序时出错

Java 运行命令时遇到内部错误:错误:启动应用程序时出错,java,android,selenium,appium,Java,Android,Selenium,Appium,问题:我的应用程序在执行ScrollTo()命令之前打开并关闭 我在Appium上遇到以下错误: '运行命令时遇到内部错误:错误:发生错误 启动应用程序时。原始错误: com.disney.wdpro.android.mdx.activities.LoaderActivity或 com.disney.mdx.wdw.google.com.disney.wdpro.android.mdx.activities.LoaderActivity 从未开始 Appium日志: [ADB] 1 device

问题:我的应用程序在执行
ScrollTo()
命令之前打开并关闭

我在Appium上遇到以下错误:

'运行命令时遇到内部错误:错误:发生错误 启动应用程序时。原始错误: com.disney.wdpro.android.mdx.activities.LoaderActivity或 com.disney.mdx.wdw.google.com.disney.wdpro.android.mdx.activities.LoaderActivity 从未开始

Appium日志:

[ADB] 1 device(s) connected
[ADB] Running 'C:\Users\vovan\AppData\Local\Android\sdk\platform-
tools\adb.exe' with args: ["-P",5037,"-
s","IRN7HITKLFOFVKK7","shell","am","force-stop","io.appium.unlock"]
[AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` 
capability if wanted.
[MJSONWP] Encountered internal error running command: Error: Error occured 
while starting App. Original error: 
com.disney.wdpro.android.mdx.activities.LoaderActivity 

orcom.disney.mdx.wdw.google.com.android.mdx.activities.LoaderActiv
ity never started
at Object.wrappedLogger.errorAndThrow 
(C:\Users\vovan\AppData\Local\Programs\appium- 
desktop\resources\app\node_modules\appium\node_modules\appium-
support\lib\logging.js:63:13)
at ADB.callee$0$0$ (C:\Users\vovan\AppData\Local\Programs\appium-
desktop\resources\app\node_modules\appium\node_modules\appium-
adb\lib\tools\apk-utils.js:79:9)
Selenium代码Eclipse:

    public void test() throws MalformedURLException, InterruptedException {
    File appDir = new File("src");
    File app = new File(appDir, "com.disney.mdx.wdw.google.apk");

    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability(MobileCapabilityType.PLATFORM_NAME, 
    MobilePlatform.ANDROID);
    cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Device");
    cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "50");
    cap.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

    AndroidDriver driver = new AndroidDriver(new 
    URL("http://169.254.159.242:4723/wd/hub"), cap);
    driver.scrollTo("Get Started");
    TouchActions t = new TouchActions(driver);
    WebElement abc = 
    driver.findElementById("com.disney.mdx.wdw.google:id/tutorial_button");
    t.singleTap(abc).perform();

除了所需的功能外,我们还需要传递“appPackage”和“appActivity”。下面是我在项目中使用的完整的期望活动

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","ANDROID");
        capabilities.setCapability("platformVersion", "5.1");
        capabilities.setCapability("platformName",Constant.appPlatform);
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", Constant.appPackage);
        capabilities.setCapability("appActivity",Constant.appActivity);
您可以从开发者或开发者处获得appPackage和appActivity的详细信息


希望这对你有帮助。谢谢。

除了所需的功能外,我们还需要传递“appPackage”和“appActivity”。下面是我在项目中使用的完整的期望活动

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName","ANDROID");
        capabilities.setCapability("platformVersion", "5.1");
        capabilities.setCapability("platformName",Constant.appPlatform);
        capabilities.setCapability("app", app.getAbsolutePath());
        capabilities.setCapability("appPackage", Constant.appPackage);
        capabilities.setCapability("appActivity",Constant.appActivity);
您可以从开发者或开发者处获得appPackage和appActivity的详细信息


希望这对你有帮助。谢谢。

获取应用程序活动和应用程序包名称的另一种方法是在命令提示符下键入:“adb logcat”


此时,应用程序应在连接的设备中打开。将生成日志,并从中获取所需的应用程序详细信息。

获取应用程序活动和应用程序包名称的另一种方法是在命令提示符中键入:“adb logcat”


此时,应用程序应在连接的设备中打开。将生成日志,并从中获取所需的应用程序详细信息。

谢谢!你是怎么发现这种行为的?奇怪。我从未使用过appPackage和appActivity,我的测试一直运行良好。如果您想打开应用程序的特定活动,则需要这些,但如果您只想打开应用程序,则不必强制执行。@SlavicTuro最简单的方法是与您的开发人员联系,否则请使用我答案中的链接。如果不行,请告诉我谢谢!你是怎么发现这种行为的?奇怪。我从未使用过appPackage和appActivity,我的测试一直运行良好。如果您想打开应用程序的特定活动,则需要这些,但如果您只想打开应用程序,则不必强制执行。@SlavicTuro最简单的方法是与您的开发人员联系,否则请使用我答案中的链接。让我知道如果它不工作,我也尝试在模拟器上运行。我得到这个Appium日志:“在Object.wrappedLogger.errorAndRow(C:\Users\vovan\AppData\Local\Programs\Appium desktop\resources\app\node\modules\Appium support\lib\logging.js:63:13)上的Failure[INSTALL\u FAILED\u OLDER\u SDK]在ADB.callee$0$0$(C:\Users\vovan\AppData\Local\Programs\appium desktop\resources\app\node\u modules\appium adb\lib\tools\apk utils.js:186:9)我在emulator上安装了我的应用程序。我还尝试在emulator上运行。我在Object.wrappedLogger.errorAndRow上得到以下应用程序日志:“安装失败\u失败\u旧的\u SDK](C:\Users\vovan\AppData\Local\Programs\appium desktop\resources\app\node\u modules\appium support\lib\logging.js:63:13)在ADB.callee$0$0$(C:\Users\vovan\AppData\Local\Programs\appium desktop\resources\app\node\u modules\appius\appium\node\u modules\appium\appium\ADB\lib\tools\apk-utils.js:186:9)我在模拟器上安装了我的应用程序。