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