Записать Appium testresults на консоль - PullRequest
3 голосов
/ 26 марта 2019

Appium не будет записывать результаты тестов (UI-тестов, выполненных с помощью эмулятора adb) в выходные данные отладки (Deug.WriteLine).

Согласно документации, получить тестовые журналы можно со следующей строкой

ILogs logs = driver.Manage().Logs;

Hower, Appium имеет различные типы журналов:

  • Браузер
  • Клиент
  • Драйвер
  • Профилировщик
  • Сервер

Я пробовал каждый тип журнала с помощью следующего кода.Но выполняя это, я не получаю никакого результата, и тест (где я поместил код) не проходит.У кого-нибудь есть решение этой проблемы?

ReadOnlyCollection<LogEntry> logs = _driver.Manage().Logs.GetLog(LogType.Browser);
//  ReadOnlyCollection<LogEntry> logs = _driver.Manage().Logs.GetLog(LogType.Client);
//  ReadOnlyCollection<LogEntry> logs = _driver.Manage().Logs.GetLog(LogType.Driver);
//  ReadOnlyCollection<LogEntry> logs = _driver.Manage().Logs.GetLog(LogType.Profiler);
//  ReadOnlyCollection<LogEntry> logs = _driver.Manage().Logs.GetLog(LogType.Server);

foreach (var log in logs)
{
    Debug.WriteLine("Time: " + log.Timestamp);
    Debug.WriteLine("Message: " + log.Message);
    Debug.WriteLine("Level: " + log.Level);
}

1 Ответ

0 голосов
/ 26 марта 2019

В Java я делаю это, используя следующий код:

List<LogEntry> logEntries = driver.manage().logs().get("logcat").getAll();
for (LogEntry logEntry : logEntries) {
        System.out.println(logEntry);
}

Не уверен, что этот метод работает для C #.Пожалуйста, попробуйте

List<LogEntry> logEntries = _driver.Manage().Logs().Get("logcat").GetAll();
...