【问题标题】:Javascript Protractor - Seeing outside functions as undefinedJavascript Protractor - 将外部函数视为未定义
【发布时间】:2018-09-17 11:45:02
【问题描述】:

在 specs/Test.js 中是一个测试定义:“regex2”

在 pages/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中函数或变量的类型未定义

你知道问题出在哪里吗?

【问题讨论】:

  • 嗨! SO 的工作方式,您的整个问题(包括任何必要的代码)必须in 您的问题,而不仅仅是链接。两个原因:人们不应该去场外帮助你;和链接腐烂,使问题及其答案对未来的人们毫无用处。请在问题中输入minimal reproducible example,获取tour(您将获得徽章!),然后通读How do I ask a good question?
  • 你能创建一个mvce吗?你用的是什么ide?它加载了哪些默认库?您是否缺少某些东西的需求或模拟?
  • 我已经编辑了我的问题

标签: javascript function protractor automated-tests


【解决方案1】:

错误来自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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    相关资源
    最近更新 更多