Я пытаюсь дождаться появления определенного журнала и затем выполнить какой-либо метод.Я знаю, что 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.