Friday, September 22, 2017

Automated MQTT functional tests Automated. MQTT broker - performance load stress tests.



The following is an example of the MQTT publish and subscribe method.

# Publisher Example:1
Protocol:SSL
Profile: userprofile1
password: pass
Url: 191.22.32.122
Port:8883
TOPIC:userprofile1/Execute/delta/cmd
{"Method":"CAMERA.list"}

# Publisher Example:2
Protocol:SSL
Profile: userprofile1
password: pass
Url: 191.22.32.122
Port:8883
TOPIC:userprofile1/Execute/delta/cmd
{"Method":"getCAMERA.CONTROL"}

PAYLOAD: JSON RPC2

{"Method":"CAMERA.control", "Params": [ { "CCTVCAMERA":[ { "Uuid":"${1var}","resolution":"${2var}","sound":"${3var}","mode":"${4var}","zoom":"${5var}","infrared":"${6var}", "Properties" : [ {"Angle" : "360"} ]  } ] } ]}

# Subscriber 
Protocol:SSL
Profile: userprofile1
password: pass
Url: 191.22.32.122
Port:8883
TOPIC:userprofile1/Execute/delta/rsp
TOPIC:userprofile1/Execute/delta/event
TOPIC:userprofile1/Execute/delta/error

#Parameterization : 
1. Using single Publisher and single subscriber by parameterising TOPIC and Methods.
   You can simulate multiple publish requests and subscribes.
2. Run the test in a Loop for undefinite repetitions, duration based for certian time, for specific repetition.
3. after parameterization of TOPIC, Payload. you can either use a test input mechanism using Excelsheet.
Or you can select for auto generation using the CTC current time. so what it does is the current time is used using a formula to generate unique payload values.
4. Authentication and authorization : If the mqtt publish and subscribe needs a specific authentication then this can be achieved using the parameterized variables option where available user accounts can be provided at execution time via an excelsheet.
5. parallel multiple thread execution : You can run the same test in parallel and have multiple instances running on same machine or via different machines.
Refer: http://techsage.eu/IoT-API-LAB.html


=================

No comments:

Post a Comment