有可能在JavaScript中读取本地文件的方法吗?
我的文件夹:
我的文件夹:
db.csv
Parse.js
尝试在Parse.js中获取db.csv文件的内容,但是失败了。
你能分享一些链接吗?让我可以获得足够的知识来读取文件。我正在使用Xcode5中运行Instruments,在一个.js文件中运行测试脚本,需要从一个.csv文件中读入一些值。
db.csv
Parse.js
尝试在Parse.js中获取db.csv文件的内容,但是失败了。
你能分享一些链接吗?让我可以获得足够的知识来读取文件。我正在使用Xcode5中运行Instruments,在一个.js文件中运行测试脚本,需要从一个.csv文件中读入一些值。
iOS UIAutomation是苹果提供的一个API,用于在目标主机上运行任务。
performTaskWithPathArgumentsTimeout
使用这个工具,我们可以编写一个bash脚本来打印出我们想要获取的文件内容。
对于这个需求,Bash脚本可以非常简单,如下所示:
#! /bin/bash
FILE_NAME="$1"
cat $FILE_NAME
请将其保存为例如FileReader.sh文件。
在您的自动化脚本中,
var target = UIATarget.localTarget();
var host = target.host();
var result = host.performTaskWithPathArgumentsTimeout(executablePath,[filePath,fileName], 15);
UIALogger.logDebug("exitCode: " + result.exitCode);
UIALogger.logDebug("stdout: " + result.stdout);
UIALogger.logDebug("stderr: " + result.stderr);
其中,executablePath是需要执行命令的路径。
var executablePath = "/bin/sh";
filePath 是创建 FileReader.sh 文件的位置。执行时,将输出内容到标准输出(在我们的要求中)。 [给出文件的完全绝对路径]
fileName 是实际要获取内容的文件。 [给出文件的完全绝对路径] 在我的情况下,我有一个名为 Contents.csv 的文件,我需要读取它。
最后一个参数是超时时间,以秒为单位。
希望这能帮助其他人,尝试获取内容(读取文件),以执行 iOS UIAutomation。
参考资料:
$.get('db.csv', function(csvContent){
//process here
});
这是Illuminator主机函数库中相当简单的一个函数:
function readFromFile(path) {
var result = target.host().performTaskWithPathArgumentsTimeout("/bin/cat", [path], 10);
// be verbose if something didn't go well
if (0 != result.exitCode) {
throw new Error("readFromFile failed: " + result.stderr);
}
return result.stdout;
}
host().readFromFile(path)
。