во время прогона автотестов
Сергей Пирогов
Senior QA Automation
Testing Center of Excellence
Ciklum
http://automation-remarks.com
@s_pirogov
Бесконечная гонка между кодом тестов и асинхронностью web страниц
Кривые руки - плохо написанные тесты
Магия которую невозможно понять
Игнорировать нестабильные тесты
Залил в прод без тестов
Запускать тесты только на одной машине
Перезапускать упавшие тесты
Перезапуск упавшего теста
Скрывает причину еще глубже
Увеличивает риск ошибки
Понять причины нестабильности и починить
Легко встраиваться в существующие решения
Контроль видео записи для одного конкретного теста
Кроссплатформенность
public class JUnitVideoTest {
@Test
public void shouldLogin() {
// test code here
}
}
public class JUnitVideoTest {
@Rule
public VideoRule videoRule
= new VideoRule();
@Video
@Test
public void shouldLogin() {
// test code here
}
}
public class TestNgVideoTest {
@Test
public void shouldLogin() {
// test code here
}
}
@Listeners(VideoListener.class)
public class TestNgVideoTest {
@Video
@Test
public void shouldLogin() {
// test code here
}
}
public class JUnitVideoTest {
@Video (enabled = false,
name = "logoutTest")
@Test
public void shouldLogout() {
// test code here
}
}
Можно задать имя видео файла
VideoRecorder.conf()
.withVideoFolder("video_folder")
.videoEnabled(true)
.withRecordMode(ANNOTATED)
.withVideoSaveMode(ALL);
Можно настроить все на свой вкус
Командная строка
mvn test -Dvideo.folder=folder
-Dvideo.enabled=true
-Dvideo.mode=ANNOTATED
-Dvideo.save.mode=ALL
@Attachment(value = "video", type = "video/mp4")
private byte[] attachment() {
File video = VideoRecorder.getLastRecording();
return readAllBytes(get(video.absolutePath()));
}
Видео можно встраивать в отчет
Влияние на время прогона тестов:
3 Теста с видео : 25,15 sec
3 Теста без видео: 25,109 sec
Размер видео:
5 мин видео ~ 13 МБ
Github
http://automation-remarks.com
@s_pirogov