【发布时间】: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