量角器 - 获取错误"找不到模块../lib/cli.js

时间:2014-12-10 23:08:29

标签: node.js protractor

我现在已经和Protractor合作了几天,但今天在我的工作机器上遇到节点问题。所以我尝试了一个' brew卸载节点'但是遇到了错误,从那时起就无法让我的量角器测试运行。

我已经完成了很多步骤,包括手动删除节点并重新安装,以及尝试重新安装量角器。目前,当我尝试运行任何测试时遇到的错误是“找不到模块../ lib / cli.js'。

我确认我有一个'量角器'目录在〜/ .node / lib / node_modules中,并且有一个' cli.js'该文件夹中的文件' lib'目录。我尝试过在全球范围内安装量角器,所以也有同样的量角器' / usr / local / lib / node_modules中的文件夹,它也有一个lib文件夹,其中包含' cli.js'文件。我还尝试过安装“node_modules”'文件夹进入我的项目目录,它也有一个lib / cli.js文件,所以我不确定它在哪里丢失该文件。

我正在运行OS X 10.10。如果我运行一个'哪个节点'命令,我回来' / usr / local / bin / node'和/ usr / local / bin在我的PATH中。另外,我的NODE_PATH变量指向/ usr / local / lib / node_modules。

我不确定这是否需要,但这是我试图运行的测试用例中的一个抛出错误:

describe('CreateUser', function() {
    signupPage = require('./Pages/SignupPage.js');
    loginPage = require('./Pages/LoginPage.js');
    dataHelper = require('./Library/DataHelper.js');

    var ptor;
    var plistPath = '/Users/Heath/Documents/Scripts/Protractor/ProtractorFramework/TestRunData/CurrentTestRun.plist';
    var userName = dataHelper.updateUserName(plistPath);

    beforeEach(function(){
        browser.ignoreSynchronization = true;
        //ptor = protractor.getInstance();
//      ptor.ignoreSynchronization = true;

    });

    it('It should add new user', function() {
        browser.driver.get(loginPage.url);

        loginPage.createStudyAbroadAccountLink.click();
        signupPage.firstNameTextBox.sendKeys('blah');
        signupPage.lastNameTextBox.sendKeys('whatever');
        signupPage.emailTextBox.sendKeys(userName);

        signupPage.facultyMemberDropdownItem.click();
        signupPage.maleRadioButtonItem.click();

        signupPage.passwordTextBox.sendKeys('1-Council');
        signupPage.passwordConfirmationTextBox.sendKeys('1-Council');
        signupPage.agreeCheckbox.click();
        signupPage.signupButton.click();

        browser.sleep(6000);
//        ptor.sleep(6000);
        expect(browser.getCurrentUrl()).toEqual('https://www-qa.ciee.org/myaccount');
    });
});

任何帮助将不胜感激。我开始认为我不会再次在这台机器上运行量角器测试。

谢谢,

1 个答案:

答案 0 :(得分:3)

嗯,这是数字。我已经在这工作了10个小时,我发现问题是我发布后5分钟。如果我只是在没有完整路径的情况下调用量角器,那么它就是从/ usr / local / bin运行它。在'local'中有一个lib文件夹,它有一个cli.js文件,所以这仍然让我感到困惑,但我尝试用项目的'量角器'运行测试,并收到一个关于无法启动webdriver的错误。 (即使我已经运行了一个实例)

该项目的文件夹缺少一个selenium目录,所以我将其复制到其中,现在一切正常。我仍然困惑为什么默认的量角器没有工作,但至少我现在可以运行测试了。

我很确定这都归功于我尝试执行'brew uninstall node'。在获得该命令的错误后,它破坏了与量角器有关的东西。

谢谢,