javascript - 网络组件测试仪因自耕农生成器 polymer 而失败

标签 javascript polymer yeoman selenium-chromedriver

使用 Yeoman Generator-polymer 0.7.2 提供的默认 Polymer 应用程序设置并选择 Gulp,Web Component Tester (gulp test:local) 在测试 Chrome 版本 42 和43:

Cannot read property 'querySelector' of null at Context. at /app/test/yo-greeting-basic.html:22:0

yo-greeting-basic.html 第 22 行如下所示:

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

看来问题是缺乏影子 DOM 支持。

我也收到错误

Cannot read property 'push' of undefined at Context. at /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有 Shadow DOM 支持,但我还没有找到使用 web-component-tester 设置它的文档。

有人可以告诉我需要做什么才能让这些测试发挥作用吗?

最佳答案

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

关于javascript - 网络组件测试仪因自耕农生成器 polymer 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29268620/

相关文章:

javascript - 尽管出现警告消息,表单仍被提交

javascript - Polymer DOM-根据接收到的数据重复内容

dart - polymer 中的可观察字段和文本输入

javascript - Polymer v 1.0 .. 在带注释的事件处理程序中传递值

javascript - Grunt usemin 任务在缩小 Angular 文件时无法处理嵌套文件

gruntjs - 使用各种浏览器运行 grunt 服务器

angularjs - 用咕噜声构建 Angular 应用程序,应用程序无法加载

javascript - 初学者帮助 - 此代码属于何处?

javascript - 嵌套 for 循环中具有 undefined variable 的函数

javascript - 多个 $http 的 Angular promise