量角器数据驱动 - 当我尝试打印 JSON 文件时显示 'undefined'
Protractor data driven - Is displaying 'undefined' when I try to print JSON file
我正在使用量角器并尝试实现数据驱动。
我正在使用我在 google 中搜索到的代码。
这是我的test.json
{
"username":"testusername"
}
我从我的规范中调用这个 json 并尝试在控制台中打印:
var fs = require('fs');
var content = fs.readFileSync('test/e2e/tests/test.json');
console.log(content.username);
测试没有失败,但在控制台中打印 undefined
enter image description here
我错过了什么?或者我没有很好地执行 json?
希望你能帮助我。
您没有解析 JSON。 readFileSync
确实将文件作为字符串读取。所以 content
是一个包含 JSON 的字符串,而不是对象。
解决方法就是简单的使用JSON.parse
:
var content = JSON.parse(fs.readFileSync('test/e2e/tests/test.json'));
你只需要做 require(json_file_path)。它会起作用。试试下面的代码。
var content = require('test/e2e/tests/test.json');
console.log(content.username);
试试这个解决方案。
主要规格:
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 spec 位于同一文件夹中):
[{
"strUser": "user1",
"strPass": "pass1"
},
{
"strUser": "user2",
"strPass": "pass2"
},
{
"strUser": "user3",
"strPass": "pass3"
}]
希望对您有所帮助:)
我正在使用量角器并尝试实现数据驱动。
我正在使用我在 google 中搜索到的代码。
这是我的test.json
{
"username":"testusername"
}
我从我的规范中调用这个 json 并尝试在控制台中打印:
var fs = require('fs');
var content = fs.readFileSync('test/e2e/tests/test.json');
console.log(content.username);
测试没有失败,但在控制台中打印 undefined
enter image description here
我错过了什么?或者我没有很好地执行 json? 希望你能帮助我。
您没有解析 JSON。 readFileSync
确实将文件作为字符串读取。所以 content
是一个包含 JSON 的字符串,而不是对象。
解决方法就是简单的使用JSON.parse
:
var content = JSON.parse(fs.readFileSync('test/e2e/tests/test.json'));
你只需要做 require(json_file_path)。它会起作用。试试下面的代码。
var content = require('test/e2e/tests/test.json');
console.log(content.username);
试试这个解决方案。
主要规格:
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 spec 位于同一文件夹中):
[{ "strUser": "user1", "strPass": "pass1" }, { "strUser": "user2", "strPass": "pass2" }, { "strUser": "user3", "strPass": "pass3" }]
希望对您有所帮助:)