Доступ к файлам сеанса браузера или кешу через Selenium/PHPunit

Пытаюсь скачать картинки с сайта через Selenium. Примеры, которые я нашел до сих пор, рекомендовали получить URL-адрес изображения через селен, а затем загрузить изображение с помощью библиотеки HTTP, такой как cURL.

Поскольку изображения уже загружены в первую очередь при запуске теста Selenium, я обнаружил, что делать еще один отдельный запрос для каждого изображения не очень хорошая идея.

Есть ли способ получить изображения из кеша браузера через Selenium/PHPunit (или, может быть, локально, если сервер selenium сохранил их локально во временной папке сеанса)?

Спасибо.


person Max    schedule 13.04.2011    source источник


Ответы (1)


Это старый вопрос, но, поскольку я недавно работал с Selenium, я решил, что поместил бы это здесь для всех, кто наткнется на это.

В моих чтениях о Selenium и на практике проблема здесь в том, что кеш браузера не обрабатывается непосредственно Selenium, поэтому код для доступа к кешу должен быть для каждого браузера и, скорее всего, будет ненадежным.

Использование метода CURL гарантирует получение необходимых изображений.

Было бы здорово, если бы Selenium разрешил доступ к кешированным версиям файлов, так же как он может делать скриншоты (достаточно ли скриншота?)

Вы можете сделать это в PHPUnit следующим образом:

require_once 'PHPUnit/Extensions/SeleniumTestCase.php';

class WebTest extends PHPUnit_Extensions_SeleniumTestCase
{
protected $captureScreenshotOnFailure = FALSE;
    protected $screenshotPath = 'C:\selenium\screenshots';
    protected $screenshotUrl = 'http://localhost/screenshots';

... (write tests here)
}

Надеюсь это поможет!

person Dave Espionage    schedule 06.10.2011