XMPP Sampler

Download

Authorship

This plugin was originally developed by BlazeMeter Inc. and then generously donated to community as Open Source. Check out their load testing service, there's a lot of value to load testing people.

Description

XMPP Samlper uses XMPP Connection to obtain connection context, then it performs one of XMPP actions. Action is selected in the UI from pretty long list of available actions. To use the plugin properly, you should have at least basic knowledge of XMPP protocol and its client-server interaction.

Actions

  • Connect - every XMPP session must start with connecting to server
  • Log In - log into service with username/password/resource
  • Roster Actions - allows getting/adding/deleting items from roster
  • Send Presence - send available/away status
  • Send Message - send messages to individual and group recipients
  • Send Raw XML - send raw XML packet to server
  • Collect Incoming Packets - very important action, collects all asynchronous incoming packets from connection input queue
  • Disconnect - finish XMPP session with this action
  • Get Bookmarked Conferences (XEP-0048)
  • Join Multi-User Chat (XEP-0045)
  • Send File (XEP-0096)
  • Service Discovery (XEP-0030)

Resource Consumption Note

This plugin uses Smack API as underlying library. This library uses approach when every client can create two more threads for its functioning (sending and receiving). Users should keep that in mind and monitor factual count of the threads for JMeter process.

Extensibility

Yeah, just like that. You can implement your own action and put JAR with it under lib/ext, so XMPP sampler will detect it and display in the list of available actions in XMPP Sampler.

You'll need to inherit from class com.blazemeter.jmeter.xmpp.actions.AbstractXMPPAction and implement all required methods. There are plenty of examples in existing actions source code.