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



问题:我的应用程序在命令执行之前打开和关闭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:UsersvovanAppDataLocalAndroidsdkplatform-
toolsadb.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:UsersvovanAppDataLocalProgramsappium- 
desktopresourcesappnode_modulesappiumnode_modulesappium-
supportliblogging.js:63:13)
at ADB.callee$0$0$ (C:UsersvovanAppDataLocalProgramsappium-
desktopresourcesappnode_modulesappiumnode_modulesappium-
adblibtoolsapk-utils.js:79:9)

硒代码日食:

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);

您可以从开发人员或 http://toolsqa.com/mobile-automation/appium/how-to-find-apppackage-and-appactivity-for-apk-file/获取应用包和应用活动的详细信息

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

获取应用激活和应用包名称的另一种方法是在命令提示符下键入:"adb logcat"。

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

相关内容

最新更新