安裝https://github.com/ariya/phantomjsphantomjs 那麼你就可以同時啓動的sproutcre應用程序和Rails應用程序
var allTestsURL = "http://localhost:4020/webedge/en/current/tests.html";
var i, j;
var x = 0, y = 0;
var page = new WebPage();
page.open(allTestsURL, function (status) {
if (status !== 'success') {
console.log('Unable to access network');
}
window.setInterval(function() {
var str = "";
y++;
var st = page.evaluate(function() {
str = "";
if(document.body.querySelector("span.status span.passed")){
str += "passed: true";
console.log("str: " + str);
}
if (document.body.querySelector("span.status span.failed")){
str += ";failed: true";
console.log("str: " + str);
}
console.log("returning " + str);
return str;
});
console.log("status returned is " + st);
if (st == "passed: true") {
console.log("it all passes! ");
phantom.exit(0);
} else if(st.indexOf("failed") > 0){
console.log("tests have failed");
phantom.exit(1);
}
if(y > 25) {
console.log("exiting with error as not yet resolved");
phantom.exit(1);
}
}, 2000);
});
注後運行以下腳本:SproutCore的版本是1.6.0.1,而通過測試,出現在跨度。傳遞選擇器,如果在span.failed選擇器中發生任何失敗的測試。我還沒有計算失敗的測試;這個腳本只是檢測是否有失敗。它不是完全萬無一失,但它符合我的目的。沒有超時或任何事情,可能是應該添加的。但我們可以依靠它。
探索了sproutcore phantomjs的腳本,但它對我無效。任何想法爲什麼?