【发布时间】: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