使用多个客户端实例自动执行XMPP服务器测试

时间:2010-06-24 16:58:41

标签: java xmpp functional-testing smack

我正在为XMPP服务器开发测试套件。目前,我已经实现了一个客户端,能够连接,创建帐户,发送从XML文件中获取的节,接收回复,将其存储在另一个文件中,并将其与预期的输出进行比较。我可以创建几个客户端,但我正在寻找并发操作。

如何让多个客户互相沟通?我的愿景 - 将客户端放入单独的线程中,并提供“等待回复”等命令。

感谢任何建议......

1 个答案:

答案 0 :(得分:1)

所有在同一个线程中完成的单个测试用例。

  • 以用户1创建传出连接。
  • 以用户2创建传入连接。
  • 为您的测试节注册PacketListener,该测试节在传入连接上写入BlockingQueue。
  • 在传出连接上写入节。
  • 在队列上调用take()并测试结果。

注意:PacketListener将在Smack内部生成的单独线程上调用,这就是为什么你需要BlockingQueue来协调发送和回复。