Описание тега expectit

Еще одна реализация на Java служебной программы expect для Unix.

ExpectIt - еще одна чистая реализация инструмента Expect на Java 1.6+. Он разработан, чтобы быть простым, легким в использовании и расширяемым. Написано с нуля. Вот особенности:

  • API в свободном стиле
  • Никаких сторонних зависимостей
  • Реализация на основе NIO с использованием каналов и неблокирующего API
  • Расширяемая структура сопоставления
  • Поддержка регулярных выражений и групповых операций
  • Поддержка нескольких входных потоков
  • Поддержка цикла взаимодействия
  • Расширяемая структура фильтров для изменения ввода, например, для удаления непечатаемых терминальных символов ANSI
  • Пользовательская задача Expect Ant
  • Лицензия Apache

Пример кода:

// the stream from where you read your input data
InputStream inputStream = ...;
// the stream to where you send commands
OutputStream outputStream = ...;
Expect expect = new ExpectBuilder()
    .withInputs(inputStream)
    .withOutput(outputStream)
    .build();
expect.sendLine("command").expect(contains("string"));
Result result = expect.expect(regexp("(.*)--?--(.*)"));
// accessing the matching group
String group = result.group(2);