回答

1

我得到了一個解決方案(不完美;))使用多個配置文件(選擇器,執行,桌面,手機等)。
我在執行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我不知道,但我會看看到了這一點。

+0

它說它無法找到變量配置。 – Shamendra

+0

您是否在測試執行中包含了loadGlobals.js,如--includes = loadGlobals.js? – dasmelch

+0

是的,我包括,如你所說 – Shamendra

相關問題