2017-07-12 5 views
0

ich einen Test durch den follwoing Code ausgeführt wird und einen Fehler bekommen, sagt:kann nicht Modul finden - relativer Pfad

Failed: cannot find module '../page/home_page.js 

Die Hauptseite ist:

describe("login to website",function(){ 
 
    var employeeId; 
 
    var employeeBday; 
 
     
 
    beforeEach(function(){ 
 
     browser.get("https://pre-www5.main.co.il/#/"); 
 
    }); 
 
    
 
    it("should succees login",function(){ 
 
     employeeId = "54729108"; 
 
     employeeBday = "25/03/1957"; 
 
     var home_page = require('../page/home_page.js') 
 
     
 
     home_page.enterUsernameField(employeeId); 
 
     home_page.enterBirthdateField(employeeBday); 
 
     var pick_present_page = home_page.clickContinue(); 
 
     
 
     element(by.xpath("//*[@id='planAndDev']/div/div/div/div/matanot/form/div[2]/h4")).getText().then(function(text) 
 
     { 
 
      expect(text).toContain("foo") 
 
     }); 
 
         
 
    }); 
 

 
});

und mit Hilfe der home_Page Klasse:

require ('../page/pick_present_page.js') 
 
var home_page = function(){ 
 

 
    this.enterUsernameField=function(employeeId){ 
 
     element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/fieldset/div[1]/input")).sendKeys(employeeId); 
 
    }; 
 
    this.enterBirthdateField=function(EmployeebDay){ 
 
     element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/fieldset/div[2]/my-date-picker/div/div/input")).sendKeys(EmployeebDay); 
 
    }; 
 
    this.clickContinue=function(){ 
 
     element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/nav/div/button")).click(); 
 
     return require('./pick_present_page'); 
 
    }; 
 
module.exports = new home_page(); 
 
};

Die in C:\JS_Project befindet Projektordner und die Seiten sind in C:\JS_Project\page Es sieht sich, wie ich die Art und Weise etwas falsch zu machen bin ich den relativen Pfad bin mit.

+0

In welchem ​​Ordner befindet sich Ihr Test? – Meldon

+0

das ist Ihr Stammordner ../ bedeutet, von einem Ordner zurückzukehren. ''../ page/pick_present_page.js' bedeutet, dass Sie von einem Ordner zurückkommen und auf * pick_present_page.js * im * page * Ordner –

+0

meinen Ordner' conf.js 'in' C: \ JS_Project 'zugreifen. Und dann führe ich es durch: "Winkelmesser conf.js". Das 'beforeEach' wird ausgeführt und dann schlägt es fehl. –

Antwort

2

Sie sollten den relativen Pfad zu SpecFile nicht aus der Konfigurationsdatei erstellen.

Also, wenn Ihr Projekt:

Projekt

  • Seite
    • home_page.js
    • pick_present_page.js
  • conf.js
  • Spezifikationen
    • Haupt

Sie die Seite von "../page/home_page.js"

Haupt

'use strict;' 
let HomePage = require('../page/home_page.js'); 

describe("login to website",function(){ 
    let employeeId; 
    let employeeBday; 
    let home = new HomePage(); 

    beforeEach(function(){ 
     browser.get("https://pre-www5.main.co.il/#/"); 
    }); 

    it("should login successfully",function(){ 
     employeeId = "54729108"; 
     employeeBday = "25/03/1957"; 

     home.enterUsernameField(employeeId); 
     home.enterBirthdateField(employeeBday); 
     var pick_present_page = home.clickContinue(); 

     element(by.xpath("//*[@id='planAndDev']/div/div/div/div/matanot/form/div[2]/h4")).getText().then(function(text) 
     { 
      expect(text).toContain("foo") 
     }); 

    }); 
}); 

Home_Page

'use strict;' 
    require ('../page/pick_present_page.js'); 

    var HomePage = function(){ 
     let employeeField = element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/fieldset/div[1]/input")); 
     let employeeBDayField = element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/fieldset/div[2]/my-date-picker/div/div/input")); 
     let continueButton = element(by.xpath("//*[@id='planAndDev']/div/div/div/div/form/nav/div/button")); 

     this.enterUsernameField=function(employeeId){ 
      employeeField.sendKeys(employeeId); 
     }; 

     this.enterBirthdateField=function(EmployeebDay){ 
      employeeBDayField.sendKeys(EmployeebDay); 
     }; 

     this.clickContinue=function(){ 
      continueButton.click(); 
      return require('./pick_present_page'); 
     }; 
    }; 
    module.exports = HomePage; 
bekommen sollte
+0

In Bezug auf Ihren Kommentar greift ".." auf einen übergeordneten Ordner zu und "." greift auf den aktuellen zu. – Alf

+0

Ich tat genau wie dein Vorschlag. Dazu gehört die Konfiguration des Spezifikationsordners unter: specs: ['specs/women_day_spec.js'] in der Datei conf.js. Ich bekomme jetzt einen Fehler sagt: Failed: home_page.EnterUserNameField ist keine Funktion –

+0

ist keine Funktion bei C: \ JS_Project \ specs \ women_day_spec.js –