javascript - 找不到模块 - 相对路径

标签 javascript selenium protractor

我正在通过以下代码运行测试并收到错误消息:

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

主页是:

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")
        });
                      
    });

});

并使用 home_page 类:

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();
};

项目文件夹位于C:\JS_Project 页面位于 C:\JS_Project\page 看来我使用相对路径的方式做错了。

最佳答案

您应该建立 SpecFile 的相对路径,而不是从配置文件中建立。

因此,如果您的项目有:

项目

  • 页面
    • home_page.js
    • pick_present_page.js
  • conf.js
  • 规范
    • 主要

您应该从“../page/home_page.js”获取页面

主要

'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")
        });

    });
});

首页

   '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;

关于javascript - 找不到模块 - 相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45049720/

相关文章:

jquery - AngularJS E2E : Find element by tag name

javascript - 从 Parse.com 获取最后一个/最新的对象

javascript - 为什么这对我不起作用? [元素] [类别] {样式}

javascript - 提取代码并将其放入另一个函数中

javascript - React 中的条件表单渲染

selenium - 使用 Selenium WebDriver 获取禁用输入的值

javascript - 使用谷歌浏览器网络驱动程序填充 Jmeter 中的下拉框

python - 在 Chrome 中自动打印/保存网页为 pdf - python 3.6

javascript - 使用 ng-show 属性测试 <span> 是否可见

javascript - 在使用 html 代码通过 id 自动定位元素以发送键时,某些值在站点的每次刷新中都会发生变化