无法使用 getVisibleText() 获取 intern.js 中的元素文本

Cannot get element text in intern.js using getVisibleText()

我正在用 Intern.js 中 functionalSuite 数组中的文件编写功能测试。

我有一个函数可以点击 URL 并检查某些 HTML header 元素中的文本。然而,测试 运行s 声称 0/3 测试失败,并且 url 从未被点击。它只是登录并留在那里。我不知道我做错了什么。

这是正在 运行

的功能套件
define([
    'intern!object',
    'intern/chai!assert',
    'intern/dojo/node!fs',
    'lib/GlobalUtils.js',
    'headtest/headtest.js'
],
function (registerSuite, assert, fs, GlobalUtils, headtest) {
    registerSuite(function () {
        var GlobalUtils;
        var headtest;
        var testdata;
        var timeout;
        var testcases;

        testcases =
        {
            name: 'App Test - headtest',

            'Setup the Environment': function () {
                var data = fs.readFileSync('headtest/include/test_data.json', 'utf8');
                testdata = JSON.parse(data);
                timeout = parseInt(testdata.timeout);
                GlobalUtils = new GlobalUtils(this.remote);
                headtest = new headtest(this.remote);
            },

            'Log into App': function () {
                this.timeout = parseInt(testdata.timeout) * 3;

                return GlobalUtils
                    .login(testdata.username, testdata.password, testdata.sites.mobo_dev, testdata.loginIdentifier)
                    .then(function (result) {
                        assert.ok(result, 'Failed to login.')
                    });
            },

            'Check Navigation Headers': function () {
                this.timeout = parseInt(testdata.timeout);
                var navItems = testdata.navItems;
                var wasUnmatched = false;

                for (var i = 0; i < navItems.length; i++) {
                    var result = headtest.check_nav_items(navItems[i], testdata.navHrefHeaderPairMappings);
                    if (result == false)
                        wasUnmatched = true;
                }

                return wasUnmatched;
            }
        };

        return testcases;
    });
});

这是headtest.js

define(function(require) {
    function headtest(remote) {
        this.remote = remote;
    }

    headtest.prototype = {
        constructor: headtest,

        check_nav_items: function(key, navTupleTable) {
            var needle = key.toLowerCase();
            var href = navTupleTable[needle][0];
            var expect = navTupleTable[needle][1];
            var xpath = navTupleTable[needle][2];
            var navHeader = this.get_nav_header_text(href, xpath, expect);

            return navHeader == expect;
        },

        get_nav_header_text: function(href, xpath, expect) {
            return this.remote
                .setFindTimeout(5000)
                .findByXpath('//div[@class="sidebar_nav"]//a[@href="'+ href +'"]/..').click().end()
                .setFindTimeout(5000)
                .findByXpath(xpath).getVisibleText()
                .then(function(text) {
                    console.log(text);
                    assert.strictEqual(text, expect);
                    //return text;
                });
        }
    };

    return headtest;
});

我是不是做错了什么?我期望在每个 for-loop 迭代中,测试将单击 N URLs 并检查是否存在某些文本元素。但是,没有 URL 被点击,也没有进行检查。 console.log(text) 也不打印任何内容。我尝试在 then 承诺之后添加一个额外的错误处理函数,但它仍然没有打印任何内容。

原来网页真的很慢。代码正在运行。