我正在尝试使用JSON引用测试数据,但它显示为未定义。我正在尝试使用页面对象模型并引用外部测试数据。在引用我的测试数据中的值并传入函数时,它们显示为undefined
我有一个简单的JSON,如:
[{
"userNameValue": "mrUserUser",
"passwordValue": "i_am_correct"
}]
我的测试看起来像是:
'use strict';
var testData = require('./testData/testData.json');
var AngularPage = require('./pages/logon.page.js');
describe('travel portal logon page', function () {
var logonPage;
beforeEach(function () {
logonPage = new AngularPage();
});
it('should fail to logon', function() {
logonPage.loginToSite(testData.userNameValue, testData.passwordValue);
expect(logonPage.errorMessageText).toEqual('Invalid Login');
});
});
testData.userNameValue
和testData.passwordValue
都写为undefined
。我还尝试使用testData['userNameValue']
的其他格式进行引用。
我错过了什么吗?
请帮忙,谢谢
答案 0 :(得分:2)
确保使用testData.json
功能根据需要导出了module.exports
文件。此外,您的测试数据首先不是一个对象,它是一个数组。为了使测试脚本正常工作,请将测试数据更改为对象。这是如何 -
var testData = {
"userNameValue": "mrUserUser",
"passwordValue": "i_am_correct"
};
如果要保持testData的方式(数组),请更改测试步骤中访问数据的方式。这是如何 -
logonPage.loginToSite(testData[0].userNameValue, testData[0].passwordValue);
希望它有所帮助。