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')