Fri, 01 Feb 2019 11:22:20 +0000
docs: Add initial documentation
# Scansion - Automated XMPP Client Scansion is an automated scriptable XMPP client, useful for testing and automating tasks. It is primarily designed to be a handy tool in an XMPP developer's toolbox, however its scripting language is designed to be easy to read and write by non-programmers who understand basic XML and XMPP. An example Scansion script: ```xml # Pubsub: Test node creation [Client] Romeo jid: admin@localhost password: password [Client] Juliet jid: juliet@localhost password: password --------- Romeo connects # Create the node Romeo sends: <iq type='set' to='pubsub.localhost' id='create-node'> <pubsub xmlns='http://jabber.org/protocol/pubsub'> <create node='princely_musings'/> </pubsub> </iq> # Server acknowledges successful creation Romeo receives: <iq type='result' id='create-node'/> # Juliet sees the node appear in the node list Juliet connects Juliet sends: <iq type='get' id='list-nodes' to='pubsub.localhost'> <query xmlns='http://jabber.org/protocol/disco#items'/> </iq> Juliet receives: <iq type='result' id='list-nodes' from='pubsub.localhost'> <query xmlns='http://jabber.org/protocol/disco#items'> <item xmlns='http://jabber.org/protocol/disco#items' jid='pubsub.localhost' node='princely_musings'/> </query> </iq> # Yay! ``` This example demonstrates how Scansion: - Supports multiple characters in a script - Takes care of establishing a connection and authentication - Automatically verifies responses to stanzas This final point is what makes Scansion a great tool for testing - it has a flexible matching system that allows you to ensure a certain stanza receives the response you expect.