docs/index.md

changeset 166
5d39804f108b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/index.md	Fri Feb 01 11:22:20 2019 +0000
@@ -0,0 +1,66 @@
+# 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.
+

mercurial