在用mqtt.fx软件测试MQTT服务器时,我们经常需要打数据量的上传数据到服务器。这时mqtt.fx的“Scripts”功能就派上用场了,不失为一个测试短小精悍的利器。
1、首先设置好要测试的mqtt的连接信息,连接mqtt服务器成功后。
2、点击“Scripts”
3、点击“Scripts”页面中的“Edit”按键,将会弹出系统默认的脚本测试文件:
目前默认的脚步文件名为01__Switch_Fountain_Test.js,存储目录为:
C:\Users\Administrator\AppData\Local\MQTT-FX\scripts\01__Switch_Fountain_Test.js
如果没有出现默认脚步,可以在连接好mqtt服务器后,先向服务器发送一些数据。
4、测试脚本很简单,朋友们可以根据默认的模板自己做一些调整;
var Thread = Java.type("java.lang.Thread");
function execute(action) {
out("Test Script: " + action.getName());
for (var i = 0; i < 9999999999999; i++) {
switchON();
Thread.sleep(10);
switchOFF();
Thread.sleep(10);
}
action.setExitCode(0);
action.setResultText("done.");
out("Test Script: Done");
return action;
}
function switchON() {
out("fountain ON");
mqttManager.publish("update", '{"BK1":0.000,"BK2":0.000,"YV1":0,"YV2":0,"BAT":0.000,"MP":0,"PWR":1,"LAC":10342,"CI":3751}');
}
function switchOFF() {
out("fountain OFF");
mqttManager.publish("update", '{"BK1":0.000,"BK2":0.000,"YV1":0,"YV2":0,"BAT":0.000,"MP":0,"PWR":1,"LAC":10342,"CI":3751}');
}
function out(message){
output.print(message);
}
5、需要注意一点,当用脚本进行大量测试时,mqtt.fx会产生大量的log信息。我用上面的脚步测了2天后,突然mqtt.fx就无法使用脚步进行测试,点击“Execute”按键也没有反应。后来尝试在任务管理器中强制停止mqtt.fx的进程,然后重启mqtt.fx弹出了一个错误框,提示C盘空间不足。我的C盘由于装了好多开发软件,一度只有不到3G的C 盘空间。
后来在Windows自带的“资源监视器”切换到磁盘选项,再开启mqtt.fx的脚步测试,发现mqtt.fx的log文件一直有动作
进到目录后C:\Users\Administrator\AppData\Local\MQTT-FX目录后发现mqttfx.log文件暴涨到了2.6G,随后删除mqttfx.log文件后,故障排除。mqtt.fx的脚本测试又恢复到了健步如飞的状态。