Web 组件测试器:访问 DOM

Web Component Tester: Accessing the DOM

我有数百个 Polymer 测试套件。在每次测试结束时,我想访问 DOM 进行一些自定义质量检查。

写一个 wct 插件可以吗?如果是这样,我应该如何从插件中访问 DOM?

提前致谢!

无需插件。您已经可以使用本机 DOM API(例如,el.querySelector())或使用 Polymer 实例方法(例如,el.$$() or el.getEffectiveChildren())访问测试夹具的 DOM。我在 Chrome 53 和 56 上用 Shady 和 Shadow DOMs 验证了这一点。

此示例将几个 DOM 相关的断言添加到 afterEach(),它在每次测试后运行:

<test-fixture id="basic">
  <template>
    <my-app></my-app>
  </template>
</test-fixture>

<script>
  describe('my-app', function() {
    var el;

    beforeEach(function() {
      el = fixture('basic');
    });

    afterEach(function() {
      expect(el.$$('h2').textContent).to.have.string('Hello');
      expect(el.querySelectorAll('*')).to.have.lengthOf(2);
    });

    it('instantiating the el works', function() {
      expect(el.is).to.equal('my-app');
    });
  });
</script>