如何将两个不同的函数从一个js文件导出到Protractor中的另一个Js文件中

时间:2015-10-15 12:48:00

标签: javascript automation protractor angularjs-e2e

请帮助我找到解决方案,只需要知道如何将2个函数导出到spec或另一个js文件中。请检查我的下面的代码以供您参考。这是一些agentdetails.js文件。我想在规范(两个函数)中调用以下函数,有时我只使用一个

var AddAgent = function()                                                                                          
{                                                                                                                                                                                                                                  
var AGP = require('D:/Automation/ServCloud/PageObjects/AgentDetailsObjects.js');                                   
var Login = require('D:/Automation/ServCloud/Test DATA/TestData.json');                                            
                                                                                                              AGP.Agent.click();                                                                                                 
AGP.AddAgentbtn.click();                                                                                           
AGP.Supervisor.click();                                                                                            
AGP.AgtSave.click();                                                                                               
}                                                                                                                   
module.exports = new AddAgent();     

var EditAgent = function()                                                                                         
{                                                                                                                  

    var AGP = require('D:/Automation/ServCloud/PageObjects/AgentDetailsObjects.js');                               
    var Login = require('D:/Automation/ServCloud/Test DATA/TestData.json');                                        

    AGP.AgentEdit.click();                                                                                         
    AGP.AgtSave.click();                                                                                           
    browser.sleep(3000);                                                                                           
    var alertDialog = browser.switchTo().alert();                                                                                                                                                                         }                                                                                                                  
module.exports = new EditAgent();       

我试过这样的。 (仅供参考 - 我可以把它变成一个功能,我可以调用它但是我想分成两个功能并分别在一个规范中调用,以便我可以评论哪些有时不需要

    it('Add Agent Details', function() 
    { 
    var aa = require('D:/Automation/ServCloud/Actions/AgentAction.js');
aa.AddAgent();

aa.EditAgent(); 
    });

1 个答案:

答案 0 :(得分:4)

我认为不可能, 你可以这样做:

varr AggentFunctions = function() {

    this.AddAgent = function(){
    //some code           
    };         


    this.EditAgent = function(){
    //some code   
    };  
};
module.exports = AggentFunctions;

然后你可以像这样使用它:

var agentsFuncs = require('yourAgentFile');
var agents = new agentsFuncs;

//and call what you want
agents.AddAgent();
agents.EditAgent();