有沒有一種可能的方式來讀取JavaScript中的本地文件。如何在javascript中爲UIAutomation獲取文件內容(基本讀取)本地文件iOS
MyFolder文件:
db.csv
Parse.js
試圖在Parse.js獲取文件db.csv的內容,但徒勞無功。
你能分享一些鏈接,我可以獲得足夠的知識如何閱讀文件。 在Xcode5中運行儀器,測試腳本放在.js文件中,我必須從.csv文件中提供一些值。
有沒有一種可能的方式來讀取JavaScript中的本地文件。如何在javascript中爲UIAutomation獲取文件內容(基本讀取)本地文件iOS
MyFolder文件:
db.csv
Parse.js
試圖在Parse.js獲取文件db.csv的內容,但徒勞無功。
你能分享一些鏈接,我可以獲得足夠的知識如何閱讀文件。 在Xcode5中運行儀器,測試腳本放在.js文件中,我必須從.csv文件中提供一些值。
iOS UIAutomation,apple提供了一個在目標主機上運行任務的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的內容(閱讀文件)。
參考文獻:
如果該文件與您所在的網站位於同一個域中,則可以使用Ajax加載該文件。如果你使用Ajax,它是像
$.get('db.csv', function(csvContent){
//process here
});
只要注意的是,路徑csv文件將是相對於網頁的你,而不是JavaScript文件是。
如果您不使用jQuery,您必須手動使用XmlHttpRequest對象來執行Ajax調用。
雖然你的問題似乎沒有處理它,如果該文件位於不同的域,那麼你必須使用jsonP或CORS。
而且,萬一這是你的目標,不,你不能在客戶端 JavaScript打開某種流並讀入文件。這將是一個巨大的安全漏洞。
這是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)
。
您能分享一下您嘗試過的方式,以及失敗的方式。 **快速回答:**如果您在瀏覽器中執行JavaScript,則無法從**本地計算機**讀取文件。瀏覽器不允許這樣做。 – gideon
http://stackoverflow.com/questions/7431268/how-read-data-from-csv-file-using-javascript這可能會幫助你出來 –
@gideon和Maverick,這是一個關於Apple的iOS測試UIAutomation框架的問題,(儘管用JavaScript編寫)提供了對主機shell的訪問。 – Ian