2010-06-24 71 views
1

我正在開發用於XMPP服務器的測試套件。目前我已經實現了一個客戶端,能夠連接,創建帳戶,從XML文件中發送節,接收回復,將其存儲在另一個文件中,並將其與預期輸出進行比較。我可以創建多個客戶端,但我正在尋找併發操作。使用多個客戶端實例自動化XMPP服務器測試

我該如何着手讓多個客戶互相溝通?我的願景 - 將客戶端分成不同的線程並提供諸如「等待回覆」等命令。

任何建議表示讚賞...

回答

1

在一個單一的測試用例在同一個線程中完成的。

  • 創建傳出連接,用戶1
  • 創建傳入連接,用戶2
  • 註冊PacketListener爲測試該節寫入到一個BlockingQueue的傳入連接。
  • 在傳出連接上寫入節。
  • 調用queue()和測試結果。

注:PacketListener將調用由啪內部催生了一個單獨的線程,這就是爲什麼你需要的BlockingQueue協調發送和回覆。

+0

+1還要考慮讓每個XMPPConnection實例擁有自己的PacketListener和BlockingQueue來測試消息路由或多用戶聊天。 – mschonaker 2010-10-09 06:59:44

相關問題