Appium 真机调试时 Permission Denial的问题

在三星7.0手机上测试饿了么项目,运行自动化测试脚本报错。原因是写appactivity时,因粗心忽略启动页,直接获取首页activity,而首页非launcher页面。解决办法是在初始代码中改对包名启动名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

E       selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot start t
he 'me.ele' application. Original error: Error executing adbExec. Original error: 'Command 'D\:\\android-sdk\\platform-tools\\adb.exe -P 5037 -s c287aa07 shell am
 start -W -n me.ele/.application.ui.home.HomeActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' exited with code 1'; Std
err: 'java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=m
e.ele/.application.ui.home.HomeActivity launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } } from null (pid=29529, uid=2000) not exported from uid 1023
7
E               at android.os.Parcel.readException(Parcel.java:1693)
E               at android.os.Parcel.readException(Parcel.java:1646)
E               at android.app.ActivityManagerProxy.startActivityAndWait(ActivityManagerNative.java:3629)
E               at com.android.commands.am.Am.runStart(Am.java:658)
E               at com.android.commands.am.Am.onRun(Am.java:392)
E               at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
E               at com.android.commands.am.Am.main(Am.java:125)
E               at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
E               at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:316)'; Code: '1'

算是一个乌龙,以上是在三星7.0手机上测试饿了么项目时运行自动化测试脚本所报的错误信息,很简单,是因为我的appactivity写错了,大家都知道,一般移动端项目都会有启动页,由于停留时间不会太长,再加上自己的粗心大意,导致我在获取包名启动名时忽略了启动页,直接获取到的是首页activity,由于首页并不是launcher页面,所以报了上面的错误。。

解决:在初始代码中,将包名启动名改对,如下:

desired_caps["appPackage"] = "me.ele"
desired_caps["appActivity"] = ".Launcher"

细心细心细心!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值