2015-10-20 63 views
2

我試圖打破我的量角器測試成可管理的文件。 有人能告訴我我在做什麼要求有錯嗎?量角器測試:有人能告訴我我的要求有什麼問題嗎?

下面是一個例子:

變量:C:/tests/variables/signInVariables.js

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

功能:C:/tests/functions/signInFunctions.js

var signInVariables = require ('../variables/signInVariables.js'); 

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

測試:C:/tests/protractor/conf.js

var signInFunctions = require ('../functions/signInFunctions.js'); 

it(' should sign in ', function() { 
    signIn("someusername", "somepassword"); 
}); 

我運行它,這就是我得到:

Failed: signIn is not defined 

我敢肯定,這是一個簡單的解決。我只是不知道自己在做什麼。

+0

我敢肯定,這種邏輯的一些沒有意義。我正在看它,看到我搞砸了的東西。但是我的做法需要對與否? – Defpotec2020

回答

2

require並不完全符合您的期望。它不會像您使用它的方式簡單地內聯所需的文件。 require正在查找JSON文件或module.exports對象。這是一個簡單的例子。

require_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"} 
+2

根據@vrachlin和Brian Glaz的回答,我讀了require和modules,把module.exports = {};圍繞我的單獨文件中的變量和函數,並將我的等號重新格式化爲冒號,將我的分號重新格式化爲逗號。現在它正在工作。謝謝! – Defpotec2020

3

你可以閱讀更多有關要求和模塊here,你的錯誤是 signInVariables是不是一個模塊,沒有exports對象使用。 你可以這樣做:

exports.emailAddress = element(by.model('loginData.userName')); 
exports.password = element(by.model('loginData.password')); 
exports.signInButton = element(by.css('[data-auto-field="SignIn"]')); 

或定義signInVariables作爲一個模塊,並將其導出爲一體。 希望我幫助。

相關問題