如何在 appium 中使用字符串参数启动 activity?
How can I start activity with string parameters in appium?
我有 activity 用于测试(打开任何带参数的 activity)并且它通过 adb 工作。这里是 adb 的示例命令:
adb shell am start -n "com.xxx.xxx/com.zzz.zzz.ui.test.TestActivity" --es "activity" "com.zzz.zzz.ui.opinion.NotificationScheduledActivity" --es "params" "\[\{name='date',type='date',value='2018-05-12'\},\{name='can_return',type='boolean',value=false\}\]"
但我不知道我应该怎么做才能通过 appium(通过 wd 命令 startActivity()
)执行此命令。
如果我尝试这样做:
this.activity = {
appPackage: 'com.xxx.xxx',
appActivity: 'com.zzz.zzz.ui.test.TestActivity',
optionalIntentArguments: \` --es "activity" "com.zzz.zzz.ui.opinion.NotificationScheduledActivity" --es "params" "\[\{name='date',type='date',value='2018-05-22'\},\{name='can_return',type='boolean',value=false\}\]"\`
return driver.startActivity(activity)
它不起作用(activity 尝试 statr 但应用程序立即崩溃)。最后 appium 说 activity 从未开始。
我应该如何重写 activity?
中的数据
已解决。像这样工作正常:
let activity = {
appPackage: 'com.app.package',
appActivity: 'com.FakeActivity',
appWaitActivity: 'com.NeededActivity',
optionalIntentArguments: ` --es "activity" "com.NeededActivity" --es "params" "\[\{name='date',type='date',value='2018-05-22'\},\{name='can_return',type='boolean',value=false\}\]"`
};
return driver.startActivity(activity);
我有 activity 用于测试(打开任何带参数的 activity)并且它通过 adb 工作。这里是 adb 的示例命令:
adb shell am start -n "com.xxx.xxx/com.zzz.zzz.ui.test.TestActivity" --es "activity" "com.zzz.zzz.ui.opinion.NotificationScheduledActivity" --es "params" "\[\{name='date',type='date',value='2018-05-12'\},\{name='can_return',type='boolean',value=false\}\]"
但我不知道我应该怎么做才能通过 appium(通过 wd 命令 startActivity()
)执行此命令。
如果我尝试这样做:
this.activity = {
appPackage: 'com.xxx.xxx',
appActivity: 'com.zzz.zzz.ui.test.TestActivity',
optionalIntentArguments: \` --es "activity" "com.zzz.zzz.ui.opinion.NotificationScheduledActivity" --es "params" "\[\{name='date',type='date',value='2018-05-22'\},\{name='can_return',type='boolean',value=false\}\]"\`
return driver.startActivity(activity)
它不起作用(activity 尝试 statr 但应用程序立即崩溃)。最后 appium 说 activity 从未开始。 我应该如何重写 activity?
中的数据已解决。像这样工作正常:
let activity = {
appPackage: 'com.app.package',
appActivity: 'com.FakeActivity',
appWaitActivity: 'com.NeededActivity',
optionalIntentArguments: ` --es "activity" "com.NeededActivity" --es "params" "\[\{name='date',type='date',value='2018-05-22'\},\{name='can_return',type='boolean',value=false\}\]"`
};
return driver.startActivity(activity);