Appium Python start_activity 有意图
Appium Python start_activity with intents
我的问题很简单,但很难回答。我想用 optional_intent_arguments 启动我的应用程序。但是由于 appium 的 python 库只支持 2 个参数,所以我有点卡住和生气。
我已经尝试过 Node js,它工作得很好,但我不想重新编码我到目前为止所做的一切。
错误:
TypeError: start_activity() takes exactly 3 arguments (4 given)
源代码:
desired_caps = desired_caps = {
'platformName': "Android",
'platformVersion': "10",
'deviceName': "my New Phone",
'automationName': "UiAutomator2",
'appPackage': mAppPackage,
'appActivity': ".MainActivity",
'avd': 'device' + str(mDeviceNr),
'systemPort': str(mDeviceNr + 4722),
'dontStopAppOnReset': 'true',
'noReset': 'true'
}
mDriver = webdriver.Remote('http://127.0.0.1:' + str(mDeviceNr + 4722) + '/wd/hub', desired_caps)
mDriver.start_activity(mAppPackage, ".MainActivity", "<some intent argument in string>")
如果没有额外的参数,我的应用程序可以完美启动并经过测试,但意图并不存在。
github 上的 KazuCocoa 为我解答了。
您可以将参数添加为关键字参数。
例如
mDriver.start_activity('xxx.xxx.xxx', '.MainActivity', app_wait_package='your package name')
我的问题很简单,但很难回答。我想用 optional_intent_arguments 启动我的应用程序。但是由于 appium 的 python 库只支持 2 个参数,所以我有点卡住和生气。
我已经尝试过 Node js,它工作得很好,但我不想重新编码我到目前为止所做的一切。
错误:
TypeError: start_activity() takes exactly 3 arguments (4 given)
源代码:
desired_caps = desired_caps = {
'platformName': "Android",
'platformVersion': "10",
'deviceName': "my New Phone",
'automationName': "UiAutomator2",
'appPackage': mAppPackage,
'appActivity': ".MainActivity",
'avd': 'device' + str(mDeviceNr),
'systemPort': str(mDeviceNr + 4722),
'dontStopAppOnReset': 'true',
'noReset': 'true'
}
mDriver = webdriver.Remote('http://127.0.0.1:' + str(mDeviceNr + 4722) + '/wd/hub', desired_caps)
mDriver.start_activity(mAppPackage, ".MainActivity", "<some intent argument in string>")
如果没有额外的参数,我的应用程序可以完美启动并经过测试,但意图并不存在。
github 上的 KazuCocoa 为我解答了。
您可以将参数添加为关键字参数。
例如
mDriver.start_activity('xxx.xxx.xxx', '.MainActivity', app_wait_package='your package name')