Angularjs 量角器测试:有人能告诉我我';我对你做了错事?

Angularjs 量角器测试:有人能告诉我我';我对你做了错事?,angularjs,jasmine,automated-tests,protractor,pageobjects,Angularjs,Jasmine,Automated Tests,Protractor,Pageobjects,我试图将量角器测试分解成可管理的文件。 有人能告诉我我做错了什么吗 以下是一个例子: 变量:C:/tests/Variables/signenvariables.js var emailAddress = element(by.model('loginData.userName')); var password = element(by.model('loginData.password')); var signInButton = element(by.css('[data-auto-fiel

我试图将量角器测试分解成可管理的文件。 有人能告诉我我做错了什么吗

以下是一个例子:

变量:C:/tests/Variables/signenvariables.js

var emailAddress = element(by.model('loginData.userName'));
var password = element(by.model('loginData.password'));
var signInButton = element(by.css('[data-auto-field="SignIn"]'));
var signInVariables = require ('../variables/signInVariables.js');

function signIn(a, b) {
    browser.get ('https://www.website.com');
    emailAddress.sendKeys(a);
    password.sendKeys(b);
    signInButton.click();
};
var signInFunctions = require ('../functions/signInFunctions.js');

it(' should sign in ', function() {
    signIn("someusername", "somepassword");
});
函数:C:/tests/Functions/signInFunctions.js

var emailAddress = element(by.model('loginData.userName'));
var password = element(by.model('loginData.password'));
var signInButton = element(by.css('[data-auto-field="SignIn"]'));
var signInVariables = require ('../variables/signInVariables.js');

function signIn(a, b) {
    browser.get ('https://www.website.com');
    emailAddress.sendKeys(a);
    password.sendKeys(b);
    signInButton.click();
};
var signInFunctions = require ('../functions/signInFunctions.js');

it(' should sign in ', function() {
    signIn("someusername", "somepassword");
});
测试:C:/Tests/dragor/conf.js

var emailAddress = element(by.model('loginData.userName'));
var password = element(by.model('loginData.password'));
var signInButton = element(by.css('[data-auto-field="SignIn"]'));
var signInVariables = require ('../variables/signInVariables.js');

function signIn(a, b) {
    browser.get ('https://www.website.com');
    emailAddress.sendKeys(a);
    password.sendKeys(b);
    signInButton.click();
};
var signInFunctions = require ('../functions/signInFunctions.js');

it(' should sign in ', function() {
    signIn("someusername", "somepassword");
});
我运行它,这是我得到的:

Failed: signIn is not defined

我相信这是一个简单的解决办法。我真的不知道我在做什么。

require
并不能满足您的期望。它不只是以您使用它的方式内联所需的文件
require
正在查找JSON文件或
模块。导出
对象。下面是一个简单的例子

需要_me.js

module.exports = {a: "foo", b: "bar"};
index.js

var imports = require('require_me.js');
console.log(imports); // Will produce {a: "foo", b: "bar"}

你可以阅读更多关于require和modules的内容,你的错误是 SignenVariables不是模块,没有要使用的
导出
对象。 你可以做:

exports.emailAddress = element(by.model('loginData.userName'));
exports.password = element(by.model('loginData.password'));
exports.signInButton = element(by.css('[data-auto-field="SignIn"]'));
或者将重要变量定义为一个模块,并将其整体导出。
希望我能帮上忙。

我确信有些逻辑毫无意义。我现在看着它,看到我把事情搞砸了。但是我现在的做法是正确的还是错误的呢?根据@vrachlin和Brian Glaz的回答,我阅读了关于require和modules的文章,抛出了一个module.exports={};在单独的文件中围绕变量和函数,并将等号重新格式化为冒号,分号重新格式化为逗号。现在它开始工作了。谢谢