Appium给出'错误:运行测试时意图匹配多个活动

Posted

技术标签:

【中文标题】Appium给出\'错误:运行测试时意图匹配多个活动【英文标题】:Appium gives 'Error: Intent matches multiple activities while running testAppium给出'错误:运行测试时意图匹配多个活动 【发布时间】:2021-04-10 21:57:59 【问题描述】:

我正在使用ruby 2.5.3cucumber 5.1.2'appium_lib', '~>10.6.0'android 设备(三星S10+)上运行测试。在运行测试时,我看到 appium 服务器向移动设备发送命令以解锁移动设备,但一段时间后我得到unknown server-side error 不确定它是什么,我在谷歌上找不到任何帮助,我可以使用手动启动应用程序在 adb 命令adb shell am start -W -n com.login.mobile.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000 下方,但是当我运行测试时它会出错。

日志

W3C] Encountered internal error running command: Error: Cannot start the 'com.login.mobile' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command '/Users/dk/Library/Android/sdk/platform-tools/adb -P 5037 -s R58MA7HJXZL shell am start -W -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 1'; Stderr: 'Error: Intent matches multiple activities; can't stop: Intent act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 '; Code: '1' [W3C] at ADB.startApp (/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-adb/lib/tools/apk-utils.js:177:11)

大写

ef caps
  
    caps:
      deviceName: "Galaxy S10+",
      platformName: "Android",
      #app: "#Dir.pwd/features/resources/app/app-release.apk",
      appPackage: "com.login.mobile",
      appAcitivity: "com.login.mobile.MainActivity",
      skipServerInstallation: true,
      newCommandTimeout: "60000",
      autoacceptalerts: true,
      autoGrantPermissions: true,
      clearSystemFiles: true
    
  

【问题讨论】:

我面临同样的问题,有什么建议可以解决这个问题吗?我没有拼错 Activity。 你能复制过去吗? “UDID”:“emulator-5554”,“platformName”:“Android”,“deviceName”:“Pixel 3 API 29 V10”,“platformVersion”:“10”,“appPackage” : "com.mcm.app", "appActivity": "com.mcm.app.LaunchActivity" @user1622681 它工作正常,这是我的 android json 文件: "caps": "UDID": "emulator-5554","deviceName": "emulator","platformName": "Android","app": "#Dir.pwd/features/resources/app/app-release.apk","appPackage": "com.login.mobile.MainActivity","appActivity": "MainActivity" ,"skipServerInstallation": true,"newCommandTimeout": "60000","autoacceptalerts": true,"autoGrantPermissions": true,"clearSystemFiles": true,"appium_lib_options": "server_url": "0.0.0.0:4723/wd/hub" 这就是我使用它的方式 cap = File.read("./features/resources/android_device.json") options = eval(cap) $driver = Appium::Driver.new(options,假) 【参考方案1】:

我看到了问题,这是由于appAcitivity 中的拼写错误,更正拼写错误已解决问题

【讨论】:

以上是关于Appium给出'错误:运行测试时意图匹配多个活动的主要内容,如果未能解决你的问题,请参考以下文章

多个意图打开错误活动的待处理意图

我正在尝试使用意图导航到多个活动,但我遇到了运行时异常,我是 eclipse 的初学者,所以请指导我

我在尝试运行 Appium 测试时遇到错误

意图 - 如果活动正在运行,请将其放在前面,否则启动一个新活动(来自通知)

Appium同时运行多个设备

如何使用 Eclipse 在 Appium 上运行脚本测试?