'Facing error TypeError: cannot read property 'script' of undefined

I am learning Nightwatch. When I am executing the below I am facing error.I want to edit my script.js file to fix error but I am not sure what to do. Where my test.js file is

module.exports = {


     'Login': function (client) {
          client.page.script()
               .launchapp()
               .collection()
               .Checkdata()
               .notravel()
               .avail()
     },


};

And my script.js file is

const commands = {
    launchapp: function () {
        return this.init()
    },

    collection: function () {
        return this.click('@city')
            .waitForElementPresent('@cityInput')
            .setValue('@cityInput', 'hyd')
            .waitForElementPresent('@firstOption')
            .click('@firstOption')
    },
    Checkdata: function () {
      return this.waitForElementPresent('@checkin')
       .click('@checkin')
       .useXpath()
       .waitForElementPresent(`(//table[@class=' table-condensed']//tbody//tr//td[text()='2'])[1]`)
       .click(`(//table[@class=' table-condensed']//tbody//tr//td[text()='4'])[1]`)
       .useXpath()
       .click("//span[text()='Checkout']")
       .click("//input[@name='checkout']")
       .waitForElementPresent(`(//table[@class=' table-condensed']//tbody//tr//td[text()='3'])[2]`)
       .click(`(//table[@class=' table-condensed']//tbody//tr//td[text()='6'])[2]`)
       .click(`(//label[text()='Travellers']/parent::div/div/div/a)[1]`)

           
    },
    notravel: function () {
        //  some code goes here
        return this;
    },
     avail: function () {
        //  some code goes here
        return this.useXpath().click(`(//button[@id='submit']//span[text()=' Search'])[1]`)
    },
}
module.exports = {
commands: [commands],
elements: {
        city: '#select2-hotels_city-container',
        cityInput: "input[aria-controls='select2-hotels_city-results']",
        firstOption: "#select2-hotels_city-results li",
        checkin: '#checkin',
        checkOut: "#checkout"
    },
}

When I am executing this I am facing error either "Cannot read property 'script' undefined" or "Cannot read property 'page' undefined"

Kindly help me on this.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source