我通过运行以下命令开始量角器测试:
protractor protractor.conf.js --params.baseUrl=http://www.google.com --suite all
我想运行一个“启动前”功能,该功能取决于一个参数(在本例中为baseUrl)。有可能吗
exports.config = { seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar', seleniumPort: 4455, suites: { all: 'test/*/*.js', }, capabilities: { 'browserName': 'firefox' }, beforeLaunch: function() { console.log('I want to access my baseUrl parameter here: ' + config.params.baseUrl); }, onPrepare: function() { require('jasmine-reporters'); jasmine.getEnv().addReporter( new jasmine.JUnitXmlReporter('output/xmloutput', true, true)); } };
如果我运行该命令,则会得到ReferenceError,因为未定义config。我该怎么办?那有可能吗?
我不能完全确定是否在此beforeLaunch()阶段设置了量角器全局变量,但绝对可以在onPrepare()步骤中使用它们。
beforeLaunch()
onPrepare()
params通过全局browser对象访问对象:
params
browser
console.log(browser.params.baseUrl);
更新:使用Jasmine 2.6+,量角器4.x,browser.params是空的,但是以下onPrepare()步骤可以工作:
console.log(browser.baseUrl);