2

私はwatir webdriverを使用して、Webページの自動テストを行っています。ページには、ユーザーがコンテンツをスクロールして表示するときに遅延ロードされる多くの画像があります (jquery lazyload プラグインを使用)

私がやっている

10.times do
    browser.send_keys :space
end

ビュー内のアイテムをスクロールして正常にロードするには、私も行います

browser.div(:id => 'footer').wd.location_once_scrolled_into_view 

それを一番下までスクロールしてから

browser.screenshot.save

これは、jquery プラグインを介して遅延ロードされた画像をキャプチャしていないようです。

ページ全体をキャプチャするにはどうすればよいですか

4

2 に答える 2

3

あなたができる最も簡単なことは、ページの一番下までスクロールすることです。画像を数え、送信しspace、もう一度画像を数えます。画像数が増えた場合は、space再度送信してください。番号が同じ場合は、すべての画像が読み込まれています。

このようなもの(テストされていません):

old_image_count = 0
new_image_count = browser.imgs
while old_image_count < new_image_count
  old_image_count = browser.imgs
  browser.send_keys :space
  new_image_count = browser.imgs
end
于 2012-08-21T19:46:11.740 に答える
0

それ以外の:

browser.screenshot.save

試す:

browser.driver.save_screenshot("<path>/photo.jpg")
于 2012-08-21T19:53:10.970 に答える