Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用多个客户端实例自动化XMPP服务器测试_Java_Xmpp_Functional Testing_Smack - Fatal编程技术网

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

Java 使用多个客户端实例自动化XMPP服务器测试,java,xmpp,functional-testing,smack,Java,Xmpp,Functional Testing,Smack,我正在为XMPP服务器开发一个测试套件。目前,我已经实现了一个客户端,它能够连接、创建帐户、发送从XML文件中获取的节、接收回复、将其存储在另一个文件中并将其与预期输出进行比较。我可以创建多个客户端,但我正在寻找并发操作 如何让多个客户机相互通信?我的愿景-将客户端放在单独的线程中,并提供诸如“等待答复”之类的命令 非常感谢您的建议……所有这些都是在同一个测试用例中在同一个线程上完成的 以用户1身份创建传出连接 以用户2身份创建传入连接 为测试节注册PacketListener,该测试节在传入

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

如何让多个客户机相互通信?我的愿景-将客户端放在单独的线程中,并提供诸如“等待答复”之类的命令


非常感谢您的建议……

所有这些都是在同一个测试用例中在同一个线程上完成的

  • 以用户1身份创建传出连接
  • 以用户2身份创建传入连接
  • 为测试节注册PacketListener,该测试节在传入连接时写入BlockingQueue
  • 在传出连接上写一节
  • 对队列和测试结果调用take()

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

所有这些都在单个测试用例中的同一线程上完成

  • 以用户1身份创建传出连接
  • 以用户2身份创建传入连接
  • 为测试节注册PacketListener,该测试节在传入连接时写入BlockingQueue
  • 在传出连接上写一节
  • 对队列和测试结果调用take()

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

+ 1还考虑了几个XMPPn连接实例,每个实例都有自己的PayTeListEnter和BuffgQueW队列来测试消息路由或多用户聊天。+ 1还考虑有几个XMPPn连接实例,每个实例都有自己的PayTeListEnter和阻塞队列。测试邮件路由或多用户聊天。