Я пытаюсь получить скриншоты с веб-страницы с несколькими браузерами. Просто экспериментировал с Selenium RC, я написал такой код:Сделайте снимок экрана с Selenium: WaitForPageToLoad не ждет достаточно долго
var sel = new DefaultSelenium(server, 4444, target, url);
sel.Start();
sel.Open(url);
sel.WaitForPageToLoad("30000");
var imageString = sel.CaptureScreenshotToString();
В основном это работает, но в большинстве случаев скриншот пустого окна браузера, поскольку страница еще не готова для показа. Это работает, если я добавляю сон сразу после WaitForPageToLoad, но это замедляет работу быстрых браузеров и/или может быть коротким для более медленных браузеров (или под нагрузкой).
Типичным решением для этого, похоже, является ожидание присутствия определенного элемента. Однако это подразумевается как простое общее решение для получения снимка экрана локальной веб-страницы с максимально возможным количеством браузеров (для проверки макета), и я не хочу вводить имена определенных элементов или что-то еще. Это простой инструмент, когда вы просто вводите URL-адрес сервера Selenium и URL-адрес, который хотите протестировать, и возвращайте скриншоты.
Любые советы?
Я только что пробовал с Selenium Server 2.0 Alpha 5 и, похоже, работает в Opera, Internet Explorer и Chrome. Однако он не работал надежно на Firefox. Вздох. – OregonGhost