【发布时间】:2017-12-16 17:46:27
【问题描述】:
我正在尝试使用 Excel 参数化功能。我正在使用 npm exceljs 包进行 excel 读写。我会给出示例代码。
//It will read the value from excel
this.getValueFromExcel = function getValueFromExcel(cellAddress) {
return workbook.xlsx.readFile('data.xlsx').then(function () {
var worksheet = workbook.getWorksheet(sheetName);
var excelData = worksheet.getCell(cellAddress).value.toString();
console.log(excelData);
return excelData;
})
}
var browservalue = this.getvalueFromExcel(cellAddress);
//if the browservalue is Chrome expect to be execute this one
var Chrome = {
browserName: 'chrome',
'chromeOptions': {
'args': ["--disable-infobars"]
}
};
//and browservalue is using here
exports.config = {
capabilities: browserValue,
}
我不确定哪里做错了,数据是从 excel 中获取的,因为打印语句工作正常。但是我收到一个错误--\ '[15:53:43] E/launcher - 错误:TypeError:目标浏览器必须是字符串,但我 小号;你忘记调用 forBrowser() 了吗? '
不确定这是否可能,或者有什么地方做错了?
我已经通过链接 Parametrize protractor-config file 和 How can I use command line arguments in Angularjs Protractor?
【问题讨论】:
-
您的问题是您试图从 excel 中读取字符串“Chrome”,并期望它与包含浏览器功能的变量“Chrome”相匹配。实际上正在发生的事情是,您最终在配置中得到了一段代码,它只是读取
capabilities: "Chrome",这就是量角器所抱怨的。 -
但是当我直接给出时它工作正常 - var browservalue = Chrome;那为什么不用excel呢?
标签: javascript angularjs npm automation protractor