2013-03-14 12 views
5

TłoBiorąc zrzut ekranu z jednej aplikacji w widoku z JavaScript

uruchomić testy UI w aplikacji pracuję na symulując wprowadzanych przez użytkownika z JS. JS uruchamia kilka wyzwalaczy myszy i klawiatury w sekwencji na elemencie iframe, w którym działa uruchomiona testowana aplikacja i mogę obserwować przerwy. Chciałbym go tak skonfigurować, aby mógł okresowo wykonywać zrzuty ekranu bieżącego stanu.

już za

Wiem, że to pytanie jest duplikatem, to pytam ponownie teraz w przypadku nastąpiły jakieś zmiany w tym miejscu w ostatnim czasie.

Zajrzałem do http://html2canvas.hertzen.com/, aby wykonać zrzuty ekranu i chociaż działa w większości przypadków, wydaje się, że ma problemy, gdy jest dużo użycia CSS3 i webfontów.

Nie mogę również używać metody po stronie serwera, ponieważ pracuję nad aplikacją szkieletową pojedynczej strony i nie przechowuję stanu opartego na adresach URL (w przeważającej części).

Nawet rzuciłem okiem na specyficzną dla Mozilli właściwość background:-moz-element(), ale to nie działa, gdy żądana strona jest w elemencie iframe.

Myślę, że najbliżej tego, czego potrzebuję, jest phantomJS, który pozwala manipulować stroną i robić zrzut ekranu. Chciałbym tego uniknąć, ponieważ w przeciwnym razie skorzystam z możliwości sprawdzenia testu.

Czy ktoś wie o czymkolwiek, co mógłbym tutaj wykorzystać? Może to być nawet jedna przeglądarka (Firefox lub Chrome), o ile działa w systemie Windows. Nie musi działać na wszystkich klientach, tylko na moim, więc wszystko jest w porządku, nawet jeśli muszę skonfigurować specjalne środowisko, o ile zrzuty ekranu można zapisać za pomocą JS (tylko w Firefoksie lub Chrome, więc nie ma ActiveX).

TL; DR Potrzebujesz JavaScript lub HTML5 API, aby zapisać zrzuty ekranu aplikacji uruchomionej w elemencie iframe. Żadnych płatnych rozwiązań, proszę.

+0

Czy pytanie "