我正在使用量角器,并尝试实施数据驱动。
我正在使用我在谷歌搜索的代码。
这是我的 test.json
{
"username":"testusername"
}
我从我的规范中调用此 json 并尝试在控制台中打印:
var fs = require('fs');
var content = fs.readFileSync('test/e2e/tests/test.json');
console.log(content.username);
测试没有失败,但在控制台中打印未定义
我错过了什么?或者我没有很好地实施json? 希望你能帮帮我。
答案 0 :(得分:1)
您只需要执行require(json_file_path)。它会工作。请尝试以下代码。
var content = require('test/e2e/tests/test.json');
console.log(content.username);
答案 1 :(得分:0)
您没有解析JSON。 readFileSync
确实将文件读为字符串。所以content
是一个包含JSON的字符串,而不是一个Object。
解决方案是简单使用JSON.parse
:
var content = JSON.parse(fs.readFileSync('test/e2e/tests/test.json'));
答案 2 :(得分:0)
尝试此解决方案。
在主要规格上:
var testData = require('./Data.json');
describe('...', function() {
testData.forEach( function (data) {
var strUser = data.strUser;
var strPass = data.strPass;
it('...', function() {
<code here>
});
});
});
在Data.json上(与Main规范位于同一文件夹中):
[{
"strUser": "user1",
"strPass": "pass1"
},
{
"strUser": "user2",
"strPass": "pass2"
},
{
"strUser": "user3",
"strPass": "pass3"
}]
希望有所帮助:)