网状组件测试仪无法用于生成聚合物

时间:2015-03-25 23:43:48

标签: javascript polymer yeoman selenium-chromedriver

使用Yeoman generator-polymer 0.7.2提供的默认Polymer应用程序设置,选择Gulp,Web Component Tester(gulp test:local)在测试Chrome版本42和43时失败并出现以下错误:

  

无法读取属性' querySelector'为null       在上下文。在/app/test/yo-greeting-basic.html:22:0

yo-greeting-basic.html的第22行看起来像这样:

    var header = el.shadowRoot.querySelector('h1');

所以似乎问题是缺少影子DOM支持。

我也得到了错误

  

无法读取属性'推送'未定义的       在上下文。在/app/test/yo-list-basic.html:23:0

yo-list-basic.html的第22-23行是

    var el = document.querySelector('yo-list');
    el.items.push('Foo');

yo-list是yo-list.html中定义的Polymer元素的名称。我猜测它是同一个问题 - 找不到这些项目,因为它们都在影子DOM中。

我在OS X Yosemite 10.10.3上安装了Chrome 42和43。 我了解Chrome Driver 2.14具有影子DOM支持,但我无法找到使用网络组件测试器进行设置的文档。

有人可以告诉我需要做些什么来让这些测试起作用吗?

1 个答案:

答案 0 :(得分:0)

您看到的错误可能是因为WCT正在运行自己的服务器并对来自bower_components的资源进行404处理。最近的一项更改将bower_components dir从app移出,看起来就像是破坏了wct。我将在下一个应该很快就会发布的版本中解决这个问题。当新版本发布时,我会更新这个答案。