2015-10-15 114 views
0

我正在開展一些驗收測試以與水豚一起工作。應用程序的主要部分利用Polymer。應用程序中有一些關鍵部分需要測試等待加載Polymer庫和應用程序代碼。是否有以聚合物爲中心的方法來等待聚合物和應用程序加載。我目前正在使用睡眠語句,但這實際上使測試運行時間變得更加龐大。等待聚合物加載

+0

這會更好,如果你提供更多的細節,如操作系統,紅寶石版本,devkit版本,代碼等.. – Aravin

+1

我運行在一個全新的Mac(埃爾卡皮坦),紅寶石2.1.5p273等我' m也運行最新版本的Polymer JS。 – rlasch

回答

0

似乎聚合物FOUC預防使用在身體上,一旦聚合物已完成初始化元素獲取刪除一個「懸而未決」屬性。如果你已經把該屬性在身上,然後

expect(page).not_to have_selector('body[unresolved]') 

會等聚合物完成加載

另一種方法是添加一個偵聽器WebComponentsReady事件代碼,設置對數據屬性身體元素被解僱時,然後讓水豚找到具有該屬性的身體。

+0

這非常接近。事實證明,Capybara的等待功能非常強大。使用我期望出現在DOM中的某些元素的期望值真的是我需要的。所以,儘管你給出的答案是100%正確的,但你卻把我推向了正確的方向。謝謝! – rlasch