在量角器测试中使用外部测试数据

时间:2016-03-21 08:59:30

标签: javascript json node.js selenium-webdriver protractor

我正在尝试使用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.userNameValuetestData.passwordValue都写为undefined。我还尝试使用testData['userNameValue']的其他格式进行引用。

我错过了什么吗?

请帮忙,谢谢

1 个答案:

答案 0 :(得分:2)

确保使用testData.json功能根据需要导出了module.exports文件。此外,您的测试数据首先不是一个对象,它是一个数组。为了使测试脚本正常工作,请将测试数据更改为对象。这是如何 -

var testData = {
    "userNameValue": "mrUserUser",
    "passwordValue": "i_am_correct"
};

如果要保持testData的方式(数组),请更改测试步骤中访问数据的方式。这是如何 -

logonPage.loginToSite(testData[0].userNameValue, testData[0].passwordValue);

希望它有所帮助。

相关问题