Javascript 如何在appium中使用字符串参数启动活动?
我有用于测试的活动(可以打开带有参数的任何活动),它通过adb工作。以下是用于adb的命令示例:Javascript 如何在appium中使用字符串参数启动活动?,javascript,android,adb,appium,appium-android,Javascript,Android,Adb,Appium,Appium Android,我有用于测试的活动(可以打开带有参数的任何活动),它通过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'
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 commandstartActivity()
)实现该命令。
如果我尝试这样做:
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)
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);
它不工作(活动试图停止,但应用程序立即崩溃)。最后,阿皮姆说,这项活动从未开始。
如何在活动中重写数据?已解决。工作原理如下:
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)
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);