делайте етот метод в listener класах
Увы подключен.
Не хватит пока скилла, нормально реализовать листенер…и уж тем более не понятно как он будет отрабатывать в случае DDT тестов - как он их будет различать…как именовать…
А вот это уже странно.
Может быть не успевает загружаться jquery? или ошибка при загрузке какая?
По идее только из за этого может быть такая ошибка.
Может быть…у меня там по идее есть страница ожидания при переходе со страницы на страницу…но странно, что иногда снимает, а иногда падает вот с такой вот ошибкой
Может быть отказаться от Ашота (хотя библиотека и неплохая), но может ли вебдрайвер - выдавать byte[]
((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
Ага. Спасибо. Но я тут смотрю класс
ViewportPastingStrategy
По идее, в других “стратегиях” это переменная фигурирует - может быть попробовать ее изменить - стратегию?
А вот не понятно, если честно.
По идее должно работать, если у Вас реально работает jquery.
Может быть действительно в некоторых случаях - оно не успевает подгрузиться? А есть способы в Ашоте - обойтись без jquery? Какой нибудь дедовский…что то мало информации по стратегиям Ашота.
Вообще я поговорю с разработчиком ашота, что лучше бы убрать jquery. Потому как не у одного у Вас могут возникнуть такие ошибки.
Можете сделать свою стратегию, отнаследовавшись от VerticalPastingShootingStrategy.
Вам нужно будет только переопределить методы забора длины и высоты экрана, вообщем сделать аналог ViewportPastingStrategy, только в executeScript не дергать jquery.
Если сделаете - можно будет и пул реквест направить может
я уже постил баг на странице ashot с етой проблемой, там есть решение, - поищите - проблема в jquery все таки
А можете дать ссылку на этот баг - а то, что то гугл мне по этомй ошибке выдает совсем другое
да да - оно)))
Перешел, действительно - ОНО. И так давайте резюмируем коллеги. При каких то проблемах с JQuery (например при его отсутствии) - можно:
-
Создать свой собственный класс
ShootingStrategy
который был бы наследникомViewportPastingStrategy
и использовал бы например нативные js функции для определения размеров окна -
При использовании исключительно Firefox driver, можно обойтись и без
ShootingStrategy
, а использоватьcoordsProvider
Видимо да, вы правильно поняли.
Еще вариант - не использовать ашот
Разобрался что у меня происходит. Дело в том, что тесты периодически сбоят (точнее ловят баги). И иногда в тестах возвращаются 2-е страницы с ошибками - белый фон и просто надпись. На этих страницах не подключен ни jquery ни javascript. Соответственно на них Ashot и падал, скорее всего у этих страниц нет либо высоты либо ширины. Попробую, для этих случаев использовать возможности веб-драйвера, в остальных - буду продолжать использовать Ашот. Всем спасибо за помощь.
Хотя…если вы можете связаться с разработчиком Ashot. Все таки работают по разному FF и Chrome. Есть у меня страница, которая представляет собой, несколько вертикальных вкладок - которые то раскрываются то закрываются…и если для Chrome это проблемы не представляет, то вот FF - берет скриншот первой вкладки и дальше начинает ее копипастить, пытаясь создать скриншот нужного размера.