-1

It Shows value as undefined in webpage when i enter value from JSON file, Any idea?

JSON FILE:

[
  {

    "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

 },

}
Sudharsan Selvaraj
  • 4,792
  • 3
  • 14
  • 22
Parthi
  • 142
  • 1
  • 1
  • 12

1 Answers1

1

In testdata1.json file, all the data are stored as an array of objects. So to access the data from testdata1 variable you need to specify the array index like testdata1[0].firstName.

Sudharsan Selvaraj
  • 4,792
  • 3
  • 14
  • 22