Javascript Protractor - Просмотр внешних функций как неопределенных - PullRequest
0 голосов
/ 17 сентября 2018

В specs / Test.js есть определение теста: "regex2"

На страницах / TablePage.js является объектом страницы

в regex2 есть попытка использовать функцию из TablePage.js

   it('regex2', function(){
            table_page.matchPriceRegex(table_page.workingBalanceField)
        });

это говорит table_page.matchPriceRegex is not a function

Сама функция из TablePage.js:

var TablePage = (function () {

  function TablePage() {
    this.workingBalanceField = element(By.xpath('//*[@id="root"]/main/section/div/div/div[5]/div/div[1]'));
  }

  TablePage.prototype.matchPriceRegex = function (locator) {
    this.text = locator.getText();
    expect(this.text).toMatch("\d{0,3}?,?\d{0,3}?\.?\d{0,3}?");
  };
});
module.exports = TablePage;

Требования включены в файл спецификации, поэтому он должен его увидеть

var TablePage = require("./../pages/TablePage");
var table_page = new TablePage();
var protractor = require("protractor");
var jasmine = require("jasmine-node");
var browser = protractor.browser;
var number = 0;

Когда в моей IDE (WebStorm) я держу Ctrl и нажимаю на имя функции, оно перенаправляет меня правильно, как он видит

Тип функций или переменных из TablePage не определен

Знаете ли вы, где проблема?

1 Ответ

0 голосов
/ 17 сентября 2018

Ошибка исходит от TablePage.js, должно быть.

var TablePage = (function () {

  function TablePage() {
    this.workingBalanceField = element(By.xpath('//*[@id="root"]/main/section/div/div/div[5]/div/div[1]'));
  }

  TablePage.prototype.matchPriceRegex = function (locator) {
    this.text = locator.getText();
    expect(this.text).toMatch("\d{0,3}?,?\d{0,3}?\.?\d{0,3}?");
  };

  return TablePage; // return the class as outer function return value
})(); 
// `(function(...){})` return a function, you should use `()` to execute the
// return function to get the returned class: TablePage.

module.exports = TablePage;
...