Eseguiamo test Selenium ogni notte sul nostro server di build TeamCity.Registrazione Esecuzione test selenio con Expression Encoder 4 SDK non riuscito sul server di build
Abbiamo alcuni test che falliscono in modo intermittente durante la nostra corsa notturna.
Le schermate dei test non riusciti non hanno fornito una risposta, quindi desidero registrare l'esecuzione dei test non riusciti.
Ho implementato quanto segue per registrare l'esecuzione di test dei test che voglio indagare.
ScreenCaptureJob = new ScreenCaptureJob
{
CaptureRectangle = Screen.PrimaryScreen.Bounds,
ShowFlashingBoundary = true,
OutputPath = outputPath
};
ScreenCaptureJob.Start();
Debug.WriteLine($"Status: {ScreenCaptureJob.Status}");
Test code...
ScreenCaptureJob.Stop();
Se il test fallisce, codifico il video catturato e lo salvi. Funziona bene quando eseguo il test localmente.
Tuttavia, quando eseguo questo sul server di generazione, ScreenCaptureJob ha uno stato di NotStarted.
Nessun file temporaneo viene scritto sul disco, quindi non c'è nulla da codificare quando il test fallisce.
MediaItem mediaItem = new MediaItem(fileName);
Job job = new Job();
job.MediaItems.Add(mediaItem);
job.ApplyPreset(Presets.VC1HD720pVBR);
job.OutputDirectory = outputPath;
job.Encode();
L'eccezione si verifica quando si tenta di creare un nuovo MediaItem dal file temporaneo.
TestCleanup method UITests.FailingTest.TestCleanup threw exception. Microsoft.Expression.Encoder.InvalidMediaFileException: Microsoft.Expression.Encoder.InvalidMediaFileException: File not found.
EE4 è installato sul server di generazione e ho verificato l'acquisizione con il programma EE4 stesso.
Qualcuno ha un'idea del motivo per cui ScreenCaptureJob non viene avviato sul server?
Ho anche lo stesso problema con ScreenCaptureJob. – bugmagnet