实际上我想从运行脚本的用户那里获得用户输入。我不想在脚本中硬编码testdata路径。例如,当我运行脚本来使用量角器和javascript测试angularjs时。用户应该能够提供testdata的路径,以便我可以在脚本中使用该变量。
答案 0 :(得分:1)
您可以通过从命令行传入params.testData
值来执行此操作。
protractor conf.js --params.testData=D:\path\to\testdata.xlsx
然后在测试中,您将使用全局browser.params
对象引用它。您还需要使用fs
来读取文件并处理数据。老实说,如果你为测试数据而不是.json
创建一个.xlsx
文件可能会更容易,但看起来有些库可以帮助你解析xlsx文件,如果你必须坚持下去的话接着就,随即。查看this答案以获取一些示例。
此代码不会按原样运行,但基本思想将是这样的:
before(() => {
const testDataPath = browser.params.testData;
fs.readFile(testDataPath, (err, data) => {
if(err) { // fail? };
const testData = data;
// do some other stuff with test data ...
});
}
您需要对.xlsx
文件中的数据进行一些额外处理才能使其格式正确,但这有助于您找到正确的道路。