如何在Protractor测试中使用module.exports和require?

5

我正在尝试在我的端对端测试中使用PageObject模式,但我收到了一个消息,说找不到该模块(错误:无法找到模块InsuredSearchPage)

/acceptance/insured/search/SearchPage.js

我有以下内容:

enter code here

var InsuredSearchPage = (function () {

    'use strict';

    function InsuredSearchPage() {

        var searchButton = element(by.id(searchFormBtn));

        var page = {
            search: search
        };

        return page;

        function search() {
            searchButton.click();
        }
    }

    return InsuredSearchPage;

})();

module.exports = InsuredSearchPage;

在测试文件夹中,我有以下内容:

var InsuredSearchPage = require("InsuredSearchPage");

当我运行测试时,出现“错误:找不到模块InsuredSearchPage”。 我做错了什么?

对于简单的键/值对列表,您可以在所需的文件中使用module.exports = { key: 'value', key2: 'value2' },而无需使用函数--然后设置为该文件的require变量将表示数据。 - emery
2个回答

6

1
在SomeKittens的答案之上
var InsuredSearchPage = require("./InsuredSearchPage");

我也必须更改所需文件中的最后一行,从"module.exports =" 改为 "exports.InsuredSearchPage = InsuredSearchPage"。
Node 6.9.2,Protractor 4.0.13。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接