在量角器中从命令行传递基本URL

rra*_*963 3 javascript selenium jasmine angularjs protractor

我正在尝试使用量角器测试我的angularjs应用程序.我的conf.js看起来像这样

exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',

capabilities: {
    'browserName': 'chrome'
},
specs: ['HomePageCtrl_spec.js'],
chromeOnly: true,
jasmineNodeOpts: {
    onComplete: null,
    isVerbose: false,
    showColors: true,
    includeStackTrace: true
},
onPrepare: function() {
    browser.manage().window().setSize(1600, 1000);
},
params : {
    url : 'test'
}};
Run Code Online (Sandbox Code Playgroud)

我在命令提示符下运行此命令

protractor Conf.js --params.url='https://XXXXX/YYY'
Run Code Online (Sandbox Code Playgroud)

在我的spec文件中,在beforeEach函数中,我能够获得传递的url(console.log((browser.params.url))正确地来了),但是当我这样做browser.get(browser.params.url)...它不起作用

任何人都知道为什么会失败?

小智 8

量角器默认提供它.你只需要声明正确的变量.

exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',

capabilities: {
    'browserName': 'chrome'
},
specs: ['HomePageCtrl_spec.js'],
chromeOnly: true,
jasmineNodeOpts: {
    onComplete: null,
    isVerbose: false,
    showColors: true,
    includeStackTrace: true
},
onPrepare: function() {
    browser.manage().window().setSize(1600, 1000);
},
  baseUrl: 'test'
};
Run Code Online (Sandbox Code Playgroud)

然后,你运行测试:

protractor Conf.js --baseUrl="https://XXXXX/YYY"
Run Code Online (Sandbox Code Playgroud)

要在测试中使用此网址:

browser.get(browser.baseUrl)
Run Code Online (Sandbox Code Playgroud)