【问题标题】:Protractor - Getting error "Cannot find module ../lib/cli.js量角器 - 出现错误“找不到模块 ../lib/cli.js
【发布时间】:2014-12-11 07:27:46
【问题描述】:

我已经用 Protractor 工作了几天,但今天在我的工作机器上遇到了一个问题。因此,我尝试执行“brew 卸载节点”,但遇到错误,从那时起就无法运行我的量角器测试。

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

我确认我在 ~/.node/lib/node_modules 中有一个“量角器”目录,并且该文件夹的“lib”目录中有一个“cli.js”文件。我尝试全局安装量角器,因此 /usr/local/lib/node_modules 中也有相同的“量角器”文件夹,它也有一个包含“cli.js”文件的 lib 文件夹。我还尝试将“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');
    });
});

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

谢谢,

【问题讨论】:

  • 您是否尝试在本地(非全局)节点环境中重新安装 protractor
  • 是的,我试过了,但由于某种原因,它没有安装一个“硒”文件夹。所以你是对的。这基本上是我从全局安装文件夹复制该目录后的修复。抱歉,在我发布自己的答案之前我没有看到您的评论,但如果可能的话,您可以将其标记为答案。

标签: node.js protractor


【解决方案1】:

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

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

我很确定这完全是因为我试图执行“brew 卸载节点”。在该命令出现错误后,它破坏了与量角器相关的东西。

谢谢,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2021-03-17
    • 2022-07-22
    • 2016-09-04
    • 1970-01-01
    • 2019-08-28
    • 2012-04-10
    相关资源
    最近更新 更多