Автоматизация тестирования сервера XMPP с несколькими экземплярами клиента - PullRequest
1 голос
/ 24 июня 2010

Я работаю над набором тестов для XMPP-сервера.В настоящее время я реализовал клиент, способный подключаться, создавать учетную запись, отправлять разделы, взятые из XML-файла, получать ответ, сохранять его в другом файле и сравнивать с ожидаемым результатом.Я могу создать несколько клиентов, но я ищу параллельную операцию.

Как мне заставить нескольких клиентов общаться друг с другом?Мое видение - помещать клиентов в отдельные потоки и предоставлять такие команды, как «ждать ответа».

Любой совет приветствуется ...

1 Ответ

1 голос
/ 24 июня 2010

Все сделано в одном потоке в одном тестовом примере.

  • Создание исходящего соединения как пользователь 1.
  • Создание входящего соединения как пользователь 2.
  • Регистрация PacketListenerдля вашего тестового раздела, который пишет в BlockingQueue при входящем соединении.
  • Запись строфа при исходящем соединении.
  • Вызовите take () для очереди и результатов теста.

Примечание: PacketListener будет вызываться в отдельном потоке, порожденном внутри Smack, поэтому вам необходим BlockingQueue для координации отправки и ответа.

...