首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在实际设备上通过Appium启动Twitter会导致错误

在实际设备上通过Appium启动Twitter会导致错误
EN

Stack Exchange QA用户
提问于 2020-03-04 13:12:36
回答 1查看 578关注 0票数 0

我刚开始在Python中使用Appium,在尝试启动Twitter应用程序时遇到了麻烦。

我试图通过输入以下内容来启动这个游戏商店:

adb shell "dumpsys window windows | grep -E 'mCurrentFocus'"

在命令提示符中获取appActivity和appPackage名称。这是可行的,游戏商店也开始了。

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/Kev/Documents/Projects/Appium/AppiumSandBox/Twitter_Android", line 9, in <module>
    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
  File "C:\Users\Kev\.virtualenvs\AppiumSandBox-g7D4ebOi\lib\site-packages\appium\webdriver\webdriver.py", line 147, in __init__
    super(WebDriver, self).__init__(
  File "C:\Users\Kev\.virtualenvs\AppiumSandBox-g7D4ebOi\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\Kev\.virtualenvs\AppiumSandBox-g7D4ebOi\lib\site-packages\appium\webdriver\webdriver.py", line 227, in start_session
    response = self.execute(RemoteCommand.NEW_SESSION, parameters)
  File "C:\Users\Kev\.virtualenvs\AppiumSandBox-g7D4ebOi\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Kev\.virtualenvs\AppiumSandBox-g7D4ebOi\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.twitter.android' 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 'C:\\Users\\Kev\\AppData\\Local\\AndroidSDK\\platform-tools\\adb.exe -P 5037 -s UEEDU18424003423 shell am start -W -n com.twitter.android/com.twitter.app.main.MainActivity -S' exited with code 255'; Stderr: 'Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.twitter.android/com.twitter.app.main.MainActivity } from null (pid=28751, uid=2000) not exported from uid 10349

java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.twitter.android/com.twitter.app.main.MainActivity } from null (pid=28751, uid=2000) not exported from uid 10349
    at com.android.server.am.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:2028)
    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:923)
    at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:656)
    at com.android.server.am.HwActivityStarter.startActivity(HwActivityStarter.java:222)
    at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:1438)
    at com.android.server.am.HwActivityStarter.startActivityMayWait(HwActivityStarter.java:412)
    at com.android.server.am.ActivityStarter.execute(ActivityStarter.java:597)
    at com.android.server.am.ActivityManagerService.startActivityAndWait(ActivityManagerService.java:5901)
    at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:474)
    at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:161)
    at android.os.ShellCommand.exec(ShellCommand.java:103)
    at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:17744)
    at android.os.Binder.shellCommand(Binder.java:642)
    at android.os.Binder.onTransact(Binder.java:540)
    at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3570)
    at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3654)
    at com.android.server.am.HwActivityManagerService.onTransact(HwActivityManagerService.java:609)
    at android.os.Binder.execTransact(Binder.java:739)'; Code: '255'

这是我的剧本:

代码语言:javascript
复制
from appium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'UEEDU18424003423'
desired_caps['appPackage'] = 'com.twitter.android'
desired_caps['appActivity'] = 'com.twitter.app.main.MainActivity'

driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)

我是不是遗漏了什么?

EN

回答 1

Stack Exchange QA用户

发布于 2020-03-04 13:38:48

我设法修复了它:)

可启动的活动是.StartActivity

票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/42806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档