如何调用specs中的函数 - 量角器

时间:2016-01-27 18:21:12

标签: javascript angularjs selenium jasmine protractor

我在模块下编写了这个脚本:

   var enter_search = function () {

this.clickSearch = function (value) {
    element(by.id('searchbutton')).click();
};


this.waitElementFound = function (value) {
    var EC = protractor.ExpectedConditions;
    browser.wait(EC.presenceof(value), 35000);
};

};
module.exports = new enter_search();

并在我的规范中调用此函数,我写道:

var search =  require('enter_search');
var loadtxt = element (by.id('text'));

it('waits for the element', function(){
  search.waitElementFound(loadtxt);
  search.clickSearch();
});

当我执行测试时,它给我一个错误的未定义函数。不知道出了什么问题。感谢

3 个答案:

答案 0 :(得分:1)

要使用另一个文件中的函数,您应该export该函数,然后在另一个文件中要求它。这是一个例子 -

档案 test.js

sortedCells.add(new AbstractMap.SimpleEntry<String, Integer>("word",5));

档案 helper.js

var search =  require('./helper.js');
var loadtxt = element(by.id('text'));

it('waits for the element', function(){
    search.waitElementFound(loadtxt);
});

希望这有帮助。

答案 1 :(得分:0)

我已经解决了这个问题,我只需要在var x = function之外声明我的变量..新手的挣扎:)无论如何,谢谢@Girish Sotur

答案 2 :(得分:0)

   var enter_search = function () {

this.clickSearch = function (value) {
    element(by.id('searchbutton')).click();
};


this.waitElementFound = function (value) {
    var EC = protractor.ExpectedConditions;
    browser.wait(EC.presenceof(value), 35000);
};

};
module.exports = new enter_search();