【问题标题】:How can I access global JavaScript scope from Intern functional test?如何从实习生功能测试访问全局 JavaScript 范围?
【发布时间】:2013-12-04 12:21:02
【问题描述】:

如何在功能测试中访问浏览器的主要 JavaScript 范围?例如,我想获得对 Dojo 小部件的引用并检查它的属性。例如,在浏览器 JavaScript 控制台中,我可以运行:

    dijit.registry.byId("widget_id")

...并获取对该小部件的引用。但是我怎么能在功能测试的范围内做到这一点呢?我尝试过使用 .eval() 承诺以及尝试在各种承诺回调中访问诸如“窗口”之类的对象,但无济于事。

我确信有一个简单的解决方案,但我找不到它。

【问题讨论】:

    标签: intern


    【解决方案1】:

    好的...我有这个工作:

    .eval("window.dijit.registry.byId('MI1').id")
        .then(function(id) {
            console.log("Checking Menu Item ID: "+ id);
            assert(id == "MI1", "The menu item did not have the expected ID");
        })
    

    但是,我注意到 eval 仅在返回字符串时才有效。例如,我还希望能够在小部件上调用“.setValue()”,但这似乎不起作用。事实上,任何返回对象的东西似乎都会产生错误。

    【讨论】:

      猜你喜欢
      • 2015-12-30
      • 1970-01-01
      • 2014-05-21
      • 2015-06-18
      • 1970-01-01
      • 2015-08-28
      • 2016-02-11
      • 1970-01-01
      • 2015-10-13
      相关资源
      最近更新 更多