Показаны сообщения с ярлыком video. Показать все сообщения
Показаны сообщения с ярлыком video. Показать все сообщения

понедельник, 16 апреля 2012 г.

Запись выполнения тестов

При выполнении тестов может возникнуть такая неприятная ситуация, тест как будто бы провален, но нет ясности о причинах провала теста.

В такой ситуации нам бы очень помогла запись того как исполнялся тест.

Слава богу есть такая возможность )))))

Нам следует обратиться вот к этому проекту.

Собственно весь проект нам не нужен. Скачиваем файлы screen-recorder-r2.2.jar и screen-player-r2.2.jar.

Добавляем их в build path нашего проекта с тестами.

Создаем в проекте класс Recorder.

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.one.stone.soup.screen.recorder.DesktopScreenRecorder;
import org.one.stone.soup.screen.recorder.ScreenRecorder;
import org.one.stone.soup.screen.recorder.ScreenRecorderListener;

public class Recorder implements ScreenRecorderListener {
    private ScreenRecorder recorder;

    public void start(String filename) throws FileNotFoundException {
        FileOutputStream oStream = new FileOutputStream(filename);
        recorder = new DesktopScreenRecorder(oStream, this);
        recorder.startRecording();
    }

    public void stop() {
        recorder.stopRecording();
    }

    public void frameRecorded(boolean fullFrame) throws IOException {
       
    }

    public void recordingStopped() {
       
    }

}

Данный класс при вызове метода start() будет записывать все что происходит на рабочем столе, до момента пока мы не вызовем stop().

Все это очень хорошо укладывается в тесты при использовании TestNG и его методов @AfterMethod и @BeforeMethod

После того как тест прошел и файл с записью создан мы можем проиграть его с помощью проигрывателя

java- -jar screen-player.jar (file-name)