如何在同一个java脚本文件中调用函数

时间:2018-03-17 10:21:44

标签: javascript angularjs selenium-webdriver protractor

我正在使用量角器编写自动化脚本。我创建了一个java脚本文件,我在其中创建了一个函数。

PlatformviewCnOPage是我的JS文件,searchCapabilityOfferingsName是函数。我想在另一个函数中调用此函数(在同一个文件中)。

var PlatformviewCnOPage = function() {

  this.searchCapabilityOfferingsName = function(){

    coreutil.clickElement(objectrepo.platformView_Searchbox_EnterBtn,'xpath');
    browser.sleep(2000);
    var searchResult= coreutil.getTextofElement(objectrepo.platformView_SearchResult,'xpath');
    return searchResult;
  }

我想在同一个java脚本文件中的另一个函数中使用上面的函数,即searchCapabilityOfferingsName。我尝试了一些组合,但它不工作。基本上我是java脚本的新手。

 this.verifySearchinCnO = function(){

    this.searchCapabilityOfferingsName();// Failed-method not defined
    searchCapabilityOfferingsName(); //Failed method not defined
    Create object of same file and call the function. // Failed. 

  }

};
module.exports = PlatformviewCnOPage;

有人可以建议如何在同一JS文件中的另一个函数中调用该函数?

2 个答案:

答案 0 :(得分:0)

PlatformviewCnOPage定义为包含searchCapabilityOfferingsName方法的对象/函数。

因此您可以轻松调用PlatformviewCnOPage.searchCapabilityOfferingsName()

答案 1 :(得分:0)

您的PlatformviewCnOPage.js中应该有一些错误导致某些定义丢失,即使由require加载也是如此。

您可以尝试以下步骤找出错误的地方:

第1步注释掉除功能以外的其他代码:verifySearchinCnOsearchCapabilityOfferingsName

第2步添加console.log(xxx)作为该函数的第一行:verifySearchinCnOsearchCapabilityOfferingsName

第3步再次运行您的测试脚本,如果两个console.log(xxx)打印出来,表示您注释掉的函数中的错误位置,然后删除某些代码行的注释并运行测试脚本再次找到正确的地方。