为什么this test导致以下失败和错误?
expected 'NO. ONE' to equal 'ITEM TWO'
<unknown> at /swiper-slider/test/basic-test.html:59
Object.Fake.downAt at /polymer-gestures/test/js/fake.js:98
Object.Fake.downOnNode at /polymer-gestures/test/js/fake.js:89
Context.<anonymous> at /swiper-slider/test/basic-test.html:56
polymer-gestures/test/js/fake.js
未能找到this method中的目标,来自this method,但我无法缩小确切的罪魁祸首。
我的预感是它与div.swiper-button-next
元素appended as a child on the fly以及the test中使用document.querySelector('swiper-slider /deep/ div.swiper-button-next')
有关。
答案 0 :(得分:1)
我预感到有一些事情正在发生。
在您拨打电话时,div.swiper-button-next不在DOM中。当一切都完成时(或者检查这个回调中的值),或者(只是为了测试这是否实际上是问题)将一个回调引入你的系统,然后设置一个手动setTimeout来延迟查询选择器和断言。
Polymer的targetAt
函数在内部使用elementFromPoint()。仔细检查一下,确保你没有任何叠加层(核心叠加层往往会在我的窗户上扯掉...),而你真正想要点击的元素实际上是找到的元素。不要害怕将一些debugging / console.log语句放入实际的聚合物源代码中,看看它在那里发现了什么。
我没有花太多时间查看测试,但是自从你查询它之后,你的slideEls [1]可能已经改变了。 querySelectorAll会返回“非实时”节点列表,因此对DOM的更改不会更新您的选择。