Я использую несколько C# Упорядоченных тестов на ежедневные прогоны. Каждый тест требует возврата к снимку, поэтому все данные и изменения теряются (что нормально для меня)Действие после неудачного кодированного теста ui
Но ... иногда тест терпит неудачу, и вся информация теряется. Visual studio предоставляет хорошее объяснение и скриншот (очень полезно)
Мой вопрос: есть ли способ или функция для реализации, если при испытании не удается выполнить некоторые файлы (журнал/сбой), скопированы в сетевое местоположение (жестко закодированные функция или ссылка на файл bat/script или что-то в функции воспроизведения) Я попытался с опциями try catch в своих тестах, но вы потеряли хорошую информацию, которую вы получаете от визуальной студии. Если нет никакого способа, чтобы достичь этого, я вернусь к попытке поймать
С уважением
по запросу код:
Это является TestMethod я использую:
//playback options + delay
Logging.playback();
Try{
Mouse.Click(uITaskListItems);
foreach (WinControl TaskList in uITaskListItems.GetChildren())
{
if (TaskList.Name.Contains(Variables.TaskItem1))
{
Mouse.Click(TaskList, MouseButtons.Right);
Mouse.Click(uIListMonitor);
break;
}
}
}catch(Exception ex){
Logging.Log(ex.Message);
Assert.Fail();
и воспроизведение опции
private static void Playback_PlaybackError(object sender, PlaybackErrorEventArgs e)
{
// Wait a second
System.Threading.Thread.Sleep(1000);
// Retry the failed test operation
e.Result = PlaybackErrorOptions.Retry;
}
//playback options
public static void playback()
{
Playback.PlaybackSettings.MatchExactHierarchy = true;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.Control;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.TopLevelWindow;
Playback.PlaybackSettings.SmartMatchOptions = SmartMatchOptions.None;
Playback.PlaybackSettings.SearchTimeout = 2000;
Playback.PlaybackSettings.ShouldSearchFailFast = true;
Playback.PlaybackSettings.ThinkTimeMultiplier = 2;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.Disabled;
Playback.PlaybackSettings.WaitForReadyTimeout = 2000;
Playback.PlaybackError -= Playback_PlaybackError;
Playback.PlaybackError += Playback_PlaybackError;
Playback.PlaybackSettings.DelayBetweenActions = 300;
}
Можете ли вы показать нам некоторые из ваших кодов? –
Я не уверен, что это может быть полезно добавить код. это метод испытаний. Использую Mouse.Click (uITaskListItems); Еогеасп (WinControl TaskList в uITaskListItems.GetChildren()) { если (TaskList.Name.Contains (Variables.TaskItem1)) { Mouse.Click (TaskList, MouseButtons.Right); Mouse.Click (uIListMonitor); break; } } – Mordacaj
Извините, я имею в виду заявление 'try' –