报错信息
程序报错信息
Connected to pydev debugger (build 191.6605.12)
Traceback (most recent call last):
File "E:\Program Files\PyCharm 2019.1.1\helpers\pydev\pydevd.py", line 1741, in <module>
main()
File "E:\Program Files\PyCharm 2019.1.1\helpers\pydev\pydevd.py", line 1735, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "E:\Program Files\PyCharm 2019.1.1\helpers\pydev\pydevd.py", line 1135, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "E:\Program Files\PyCharm 2019.1.1\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:/Desktop/代码/sunxin/__init__.py", line 312, in <module>
appium = ShellAppium()
File "D:/Desktop/代码/sunxin/__init__.py", line 283, in __init__
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
File "E:\Program\envs\sunxin\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "E:\Program\envs\sunxin\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "E:\Program\envs\sunxin\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "E:\Program\envs\sunxin\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: Failed to launch Appium Settings app: Condition unmet after 5132 ms. Timing out.
appium报错信息
appium报错.png
提示启动Appium设置失败。
# 代码
class ShellAppium(object):
def __init__(self):
desired_caps = dict()
self.phone_port = PhonePort()
self.shell_mongo = ShellMongo()
desired_caps['platformName'] = 'Android' # 平台名称
desired_caps['platformVersion'] = '7.1' # 平台版本号
desired_caps['deviceName'] = 'Android Emulator' # 设备名称(这里我用的虚拟机)
desired_caps['appPackage'] = 'com.crgt.ilife' # app包名
desired_caps['appActivity'] = 'com.tencent.server.fore.QuickLoadActivity'
desired_caps['newCommandTimeout'] = '10000' # 超时时间
# desired_caps['udid'] = '127.0.0.1:21523'
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
后来发现是appActivity错了导致的。
desired_caps['appPackage']
跟desired_caps['appActivity']
是对应app的,不同的app参数不同
获取appPackage, appActivity
方法有很多,这里只说一种简单快速有效的方法。
通过cmd命令,前提是先打开手机中你要获取包名的APP
1. adb shell
2. dumpsys activity | grep mFocusedActivity
简单方法一.png