当我从JSON文件输入值时,它在网页中显示未定义的值,任何想法?

时间:2017-04-06 08:40:01

标签: json selenium jasmine protractor data-driven-tests

当我从JSON文件输入值时,它在网页中显示未定义的值,任何想法?

JSON文件:

[
  {

    "firstName":"1233232322",
    "lastName":"ramakrishnan",  
    "email":"parthiramkrish@gmail.com",
    "password":"secondmay1991",
    "confirmPassword":"secondmay1991"
  }

]

SPEC FILE:

'use strict';

 browser.ignoreSynchronization = true;

var testdata1 = require('./testdata1.json');

describe("Test the inksoft.com create an account page", function () {
 it("enter the account details", function () {
     browser.get("https://qa.inksoft.com/EGT");
     browser.ignoreSynchronization = true;
     browser.sleep(15000);
     element(by.xpath("//a[text()='Create Account']")).click();
     browser.sleep(20000);
     element(by.xpath("//input[@name='firstName']")).sendKeys( testdata1.firstName);
     element(by.xpath("//input[@name='lastName']")).sendKeys( testdata1.lastName);
     element(by.xpath("//input[@name='email']")).sendKeys( testdata1.email);
     element(by.xpath("//input[@name='password']")).sendKeys( testdata1.password);
     element(by.xpath("//input[@name='confirmPassword']")).sendKeys( testdata1.confirmassword);
     element(by.xpath("//input[@type='submit']")).click();
  });
});

CONF FILE:

 exports.config = {

 //The address of a running selenium server.

 seleniumAddress: 'http://localhost:4444/wd/hub',

 //Here we specify the name of the specs files.

 framework: 'jasmine',

 specs: ['inksoftdata.js'],

 jasmineNodeOpts: {

    showColors: true,

    includeStackTrace: true,

    defaultTimeoutInterval: 1440000

 },

}

1 个答案:

答案 0 :(得分:1)

testdata1.json文件中,所有数据都存储为对象数组。因此,要从testdata1变量访问数据,您需要指定像testdata1[0].firstName这样的数组索引。