我正在開展一些驗收測試以與水豚一起工作。應用程序的主要部分利用Polymer。應用程序中有一些關鍵部分需要測試等待加載Polymer庫和應用程序代碼。是否有以聚合物爲中心的方法來等待聚合物和應用程序加載。我目前正在使用睡眠語句,但這實際上使測試運行時間變得更加龐大。等待聚合物加載
等待聚合物加載
回答
似乎聚合物FOUC預防使用在身體上,一旦聚合物已完成初始化元素獲取刪除一個「懸而未決」屬性。如果你已經把該屬性在身上,然後
expect(page).not_to have_selector('body[unresolved]')
會等聚合物完成加載
另一種方法是添加一個偵聽器WebComponentsReady事件代碼,設置對數據屬性身體元素被解僱時,然後讓水豚找到具有該屬性的身體。
這非常接近。事實證明,Capybara的等待功能非常強大。使用我期望出現在DOM中的某些元素的期望值真的是我需要的。所以,儘管你給出的答案是100%正確的,但你卻把我推向了正確的方向。謝謝! – rlasch
我認爲你應該聽WebComponentsReady
事件,當所有Polymer元素都被加載時它會被觸發。
https://github.com/webcomponents/webcomponentsjs#webcomponentsready
我試圖利用水豚,所以我不認爲你可以讓Ruby方法在WebComponentsReady事件觸發時回調。 – rlasch
- 1. 如何等待DOM加載聚合物?
- 2. 繼續使用聚合物1.x或等待聚合物2.x可用?
- 3. 重新加載聚合物錯誤
- 4. 聚合物加載緩慢火狐
- 5. 聚合物加載JavaScript模塊
- 6. 獲取加載scren與聚合物
- 7. 聚合物網站不加載元素
- 8. 按需加載聚合物元素
- 9. 聚合物兒童DOM加載
- 10. 更改聚合物中的異步等待時間
- 11. 等待加載
- 12. 等待加載
- 13. 卸載聚合物頁面
- 14. 等待D3加載
- 15. 等待TinyMCE加載
- 16. 追加HTML聚合物
- 17. 如何添加聚合物
- 18. 聚合物無法加載iOS10但不加載iOS9
- 19. 聚合物
- 20. 在「聚合物
- 21. 飛鏢,聚合物建造失敗,無法找到聚合物/聚合物。
- 22. 聚合物2.0:聚合物1.0雜化元素不適用於聚合物2.0?
- 23. 等待腳本下載並執行,並等待DOM加載
- 24. 等待iframe加載在php
- 25. 等待Winform UserControl加載
- 26. 等待css的加載
- 27. 角等待初始加載
- 28. Ajax呼叫等待加載
- 29. Webrowser - 等待文檔加載
- 30. 如何等待加載IFrame?
這會更好,如果你提供更多的細節,如操作系統,紅寶石版本,devkit版本,代碼等.. – Aravin
我運行在一個全新的Mac(埃爾卡皮坦),紅寶石2.1.5p273等我' m也運行最新版本的Polymer JS。 – rlasch