如何发送与空间文本的Android UIAutomator -e命令行参数(How to send

2019-10-19 17:21发布

我想知道如何与空间发送文本中的Android UIAutomator -e选项(名称值对)

对于例如:

亚行外壳uiautomator的runTest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

我想送样

亚行外壳uiautomator的runTest LaunchSettings.jar -c com.uia.example.my.LaunchSettings -e APPNAME神庙逃亡

但是,得到错误信息,如:

不支持独立的参数。

试图像“神庙逃亡”或“神庙逃亡”,但没有用。

请建议

Answer 1:

    String defaultAppName = "My super App";

    String toAppName = getParams().getString("appName"); //pass app name with 'appName' key

    if (toAppName != null) {
        toAppName = toAppName.replace("0"," "); //use 0 instead of space in app name
        defaultAppName=toAppName.trim();
    }

如果没有-e选项(名称 - 值对)进行此测试时获得通过上面的代码将默认为“我的超级应用”。

与空间传递参数,如“我的超级dooper应用”,根据上面的代码,将被插入对于每个空间0需求。

要通过“我的超级dooper应用”作为参数传递给上面的代码,一个需要发送的使用:

-e appName "my0super0dooper0app"

你的情况:

 adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings -e appName Temple0Run

(而不是“0”可以插入任何字母数字字符作为占位符所示例子中下面)

UiAutomator不了解命令行参数空间,&,<,>,(,),”,“,以及一些Unicode字符。在这种情况下,一个具有与期望的符号以取代在命令行的占位符。

例:

if (toParam != null) {
        toParam = toParam.replace("0space0", " "); //insert 0space0 in command line parameters for every space
        toParam = toParam.replace("0amper0", "&"); //insert 0amper0 in command line parameters for every &
        toParam = toParam.replace("0less0", "<"); //insert 0less0 in command line parameters for every <
        toParam = toParam.replace("0more0", ">"); //insert 0more0 in command line parameters for every >
        toParam = toParam.replace("0openbkt0", "("); //insert 0openbkt0 in command line parameters for every (
        toParam = toParam.replace("0closebkt0", ")"); //insert 0closebkt0 in command line parameters for every )
        toParam = toParam.replace("0onequote0", "'"); //insert 0onequote0 in command line parameters for every '
        toNumber = toParam.trim();
    }


文章来源: How to send text with space in Android UIAutomator -e command line parameter