2015-07-21 58 views
3

我有一個想法,使我的配置更靈活。例如我有10000個配置文件具有相同的參數:量角器:如何使配置文件更加靈活?

seleniumAddress: 'http://localhost:4444/wd/hub', 
specs: ['C:/Users/Lilia.Sapurina/Desktop/Protractor Tests/Scenarios/ps-grid-column-filter-range_spec.js'], 
params: {'url_filter': 'http://wks-15103:8010/ps/ng-components/examples/ps-grid-column-filter-range.html'} 

而一旦我想改變路徑規格,html或更改selenium地址。我可以在另一個文件中爲我的所有配置執行此操作嗎?

例如寫在我的配置:

seleniumAddress: '../Variables/seleniumAdress.txt' 

或許存在另一種有趣的方式來解決這個問題?

回答

10

您可以導出常見的配置規則的Node.js模塊:

// globalProtractor.conf.js  
module.exports = { 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['C:/Users/Lilia.Sapurina/Desktop/Protractor Tests/Scenarios/ps-grid-column-filter-range_spec.js'], 
    params: { 
    'url_filter': 'http://wks-15103:8010/ps/ng-components/examples/ps-grid-column-filter-range.html' 
} 

而在另一個文件

// protractor.conf.js 
var globalConf = require('/path/to/globalProtractor.conf.js'); 

globalConf.specs.push('path/new.spec.js'); 
exports.config = globalConf; 
+1

可以覆蓋onprepare功能? – user3626708

1

隨着@driver_by幫助下,我找到了我的問題很好的解決方案使用。現在我的文件被隔離。如果我想更改url或路徑到文件夾,我應該只更改全局配置。

// globalProtractor.conf.js  
module.exports = { 
    seleniumAddress: 'http://localhost:4444/wd/hub', 

    baseUrl: 'http://wks-15103:8010/ps/ng-components/examples/', 

    specs: [], 

    path_to_scenario: '../Scenarios/', 
    path_to_spec: '../Specs/', 
    path_to_lib: '../Lib/' 
} 

而另一個文件:

// protractor.conf.js 
var globalConf = require('../Global_configs/globalProtractor_conf.js');   
    globalConf.specs.push(path_to_spec + 'ps-grid-column-filter-range_spec.js');  

globalConf.params = {'url_filter': 'ps-grid-column-filter-range.html',       
        'column_number_filter': 5,             
        'req_lib_filter': globalConf.path_to_lib + 'jasmine-expect'}    
exports.config = globalConf;