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

Javascript 无法使用getVisibleText()获取intern.js中的元素文本,javascript,intern,Javascript,Intern,我正在使用Intern.js中functionalSuite数组中的文件编写功能测试 我有一个函数,可以单击URL并检查某些HTML标题元素中的文本。但是,测试运行时,声称0/3测试失败,并且从未单击过url。它只是登录并停留在那里。我不知道我做错了什么 这是正在运行的功能套件 define([ 'intern!object', 'intern/chai!assert', 'intern/dojo/node!fs', 'lib/GlobalUtils.js',

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

我有一个函数,可以单击URL并检查某些HTML标题元素中的文本。但是,测试运行时,声称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;
    });
});

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

结果表明,该网页速度非常慢。代码正在运行

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;
});