iOS UIAutomation - 命令行工具使用 -e 设置环境变量。有没有办法在 javascript 的 UIATarget 中访问这些变量?
问问题
1284 次
2 回答
0
基本上我想为 uiautomation javascript 传递变量。我没有将变量作为环境变量传递,而是从如下的 ini 文件中读取它们。
在配置文件中指定所需的参数。python 脚本读取这些参数并打印到标准输出。UiAutomation javascript 读取标准输出并解析变量
测试.ini
[JSVARS]
server_url = http://foo.com
uname = user11
pwd = secret
Python:
import json, os;
import ConfigParser;
config = ConfigParser.ConfigParser()
config.read('~/test/test.ini')
for jsvar in config.items('JSVARS'):
print jsvar[0]+":"+jsvar[1]+":"+jsvar[0]
Javascript:
var dlimiter = ":"
parseAllEnvironmentVariables()
{
envvars = host.performTaskWithPathArgumentsTimeout("/usr/bin/python",["getEnvVars.py"], 5).stdout;
}
function getEnvironmentVariable(varname)
{
return (new String(envvars).substring(envvars.indexOf(varname+dlimiter)+varname.length+dlimiter.length,envvars.indexOf(dlimiter+varname)));
}
于 2013-04-12T17:32:47.160 回答
0
制作一个 shell 脚本,然后使用环境变量的值生成一个 JavaScript 文件:
VAR1=100
...
VARN="something"
cat >> END
const Var1 = "$VAR1";
...
const VarN = "$VARN";
END > Env.js
...
# launch instruments here
instruments [...] -e VAR1 "$VAR1" ... -e VARN "$VARN"
在您的自动化脚本中导入生成的文件:
#import "Env.js"
/* Use `Var1`, ..., `VarN`. */
保存Env.js
在自动化脚本目录中,它应该可以正常工作。请注意,您可能需要转义变量以生成有效的 JavaScript。
于 2013-04-04T14:09:29.310 回答