实习生/ WD:无法在远程浏览器中执行javascript工作

时间:2014-05-30 01:40:01

标签: javascript selenium-webdriver webdriver intern

我越来越渴望什么应该是一个简单的问题。

执行:

    bdd.it('works', function() {
        return this.remote
            .get(require.toUrl(testPageUrl))
            .waitForElementByCssSelector(readyToken, 50000)
            .execute(function(){2 + 2});
    });

给了我:

Error: Failed to execute execute(function () {
            __cov_VwMr0JS3ESfzTM8YeWV7lg.f['4']++;
            __cov_VwMr0JS3ESfzTM8YeWV7lg.s['7']++;
            2 + 2;
        }): Error response status: 13.  __cov_VwMr0JS3ESfzTM8YeWV7lg is not defined

我根本不明白 - 这些奇怪的增量是什么?

执行:

    bdd.it('works', function() {
        return this.remote
            .get(require.toUrl(testPageUrl))
            .waitForElementByCssSelector(readyToken, 50000)
            .execute('2 + 2', function (err, res) {

            });
    });

给我:

Error: Failed to execute execute("2 + 2", function (err, res) {
            __cov_VwMr0JS3ESfzTM8YeWV7lg.f['4']++;
        }): Error response status: 13. 

1 个答案:

答案 0 :(得分:1)

我现在解决了。涉及两个不同的问题:

  1. 实习生的代码覆盖组件(我猜伊斯坦布尔)确实将其代码注入到远程javascript中,这是对奇怪的增量语句的解释,当然浏览器无法理解。因此,必须禁用代码覆盖率工具。
  2. 定义回调的正确方法是:

    bdd.it('works', function() {
        return this.remote
            .get(require.toUrl(testPageUrl))
            .execute(function() {
                return 3;
            })
            .then(function(result) {
                expect(result).to.equal(3);
            });
    });
    
  3. 希望它可能在某些时候帮助某人。

    祝你好运