1
我試圖用無頭的瀏覽器使用CasperJS測試PhantomJS並希望有一個配置文件或一些改變網站的網址,用戶名密碼等,所以最後我發現NuclearJS。你們知道還有其他完美的方法嗎?如果我想從頭開始寫一篇也想知道的話。使用CasperJS和配置文件的前端無頭瀏覽器測試?
我試圖用無頭的瀏覽器使用CasperJS測試PhantomJS並希望有一個配置文件或一些改變網站的網址,用戶名密碼等,所以最後我發現NuclearJS。你們知道還有其他完美的方法嗎?如果我想從頭開始寫一篇也想知道的話。使用CasperJS和配置文件的前端無頭瀏覽器測試?
我得到了一個解決方案(不完美;))使用多個配置文件(選擇器,執行,桌面,手機等)。
我在執行casperjs時測試了一個文件,該文件爲我提供了我需要的所有配置(我也包括全局函數)。 讓我們猜測試執行看起來像這樣:
casperjs test --includes=loadGlobals.js test_1.js
在這個例子loadGlobals.js包含的功能和其它:
var fs = require('fs');
var config = {},
configFile = fs.read('config.json');
config = JSON.parse(configFile);
Probalby的config.json正在尋找這樣的:
{
"url": "http://www.yourTestUrl.com",
"variable_1": "bla",
"variable_2": "blub",
"nextTier": {
"variable_1": "blablub"
}
}
現在您可以在test_1.js中調用config.json的變量:
casper.start(config.url, function() {
casper.then(function() {
casper.echo(config.variable_1);
casper.echo(config.variable_2);
casper.echo(config.nextTier.variable_1);
});
})
casper.run();
您可以像使用不同的configurationfiles,甚至期間,如果nessacary測試覆蓋它。
測試應該以頁面對象模式風格編寫,因此它們具有高度的可維護性,尤其是外包配置。
NuclearJS我不知道,但我會看看到了這一點。
它說它無法找到變量配置。 – Shamendra
您是否在測試執行中包含了loadGlobals.js,如--includes = loadGlobals.js? – dasmelch
是的,我包括,如你所說 – Shamendra