Angularjs 量角器测试:有人能告诉我我';我对你做了错事?
我试图将量角器测试分解成可管理的文件。 有人能告诉我我做错了什么吗 以下是一个例子: 变量:C:/tests/Variables/signenvariables.jsAngularjs 量角器测试:有人能告诉我我';我对你做了错事?,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
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={};在单独的文件中围绕变量和函数,并将等号重新格式化为冒号,分号重新格式化为逗号。现在它开始工作了。谢谢