Appium ждут конкретного журнала - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь дождаться появления определенного журнала и затем выполнить какой-либо метод.Я знаю, что Appium может ожидать появления элементов на экране, я хочу знать, могу ли я дождаться появления журнала из «logcat».

Спасибо.

отредактировано: Я реализовал 3 метода и ЭТО РАБОТАЕТ ДЛЯ МЕНЯ :

public String WaitTillLogAppearInLogcat(String i_Log, int timeOutSeconds){
    String log = null;
    LocalDateTime startTime = LocalDateTime.now();
    LocalDateTime endTime = LocalDateTime.now();
    while(log == null && ((Duration.between(startTime, endTime).toMillis() / 1000) < timeOutSeconds)) {
        CollectLogs();
        log = GetLogLineFromCollectedLogs(i_Log);
        endTime = LocalDateTime.now();
    }
    return log;
}

public void CollectLogs(){
    List<LogEntry> entireLogBuffer = androidDriver.manage().logs().get("logcat").getAll();
    for(LogEntry LogLine : entireLogBuffer) {
        launcherLogs += LogLine.getMessage();
        launcherLogs += "\n";
    }
}


public String GetLogLineFromCollectedLogs(String logContent) {
    String LogInCollectedLogs = null;
    String[] lines = launcherLogs.split(System.getProperty("line.separator")); 
    for (String line : lines) {
        if (line.contains(logContent)){
            LogInCollectedLogs = line;
        }
    }
    return LogInCollectedLogs;
}

Где launcherLogs - элемент данных String класса using, а androidDriver - драйвер Appium.

...