在测试wifi的时候,测试人员一般要使用很多不同型号的AP,并且需要不断地切换Chariot的配置。
这里的思路是致力于提供一个友好的GUI界面来自动控制AP,并且自动控制Chariot进行Throughput的测试。
这里Chariot的部分就不提了,可以自行参照Chariot的c API或者tcl的API进行程序设计。
这里先给出一个实例,那就是Tplink的AP,待完善之后可以将每一个AP做成一个配置文件,方便扩展。
先祭出Qt代码吧:
#include "dialog.h" #include "ui_dialog.h" #include <QDebug> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); manager = new QNetworkAccessManager(this); connect(manager,SIGNAL(finished(QNetworkReply*)), this,SLOT(replyFinished(QNetworkReply*))); } Dialog::~Dialog() { delete ui; } void Dialog::replyFinished(QNetworkReply *reply) //当回复结束后 { QByteArray reply_str; switch (reply->error()) { case QNetworkReply::AuthenticationRequiredError: qDebug()<<"AUTH REQUIRED"; qDebug()<< reply->rawHeaderList(); qDebug()<< reply->rawHeaderPairs(); /* no break */ case QNetworkReply::NoError: reply_str = reply->readAll(); ui->text->setPlainText(QString::fromUtf8(reply_str)); reply->deleteLater(); break; default: qDebug()<<"ERROR WHEN REPLY:" << reply->error(); } } void Dialog::on_init_clicked() { manager->get(QNetworkRequest(QUrl("http://192.168.2.1"))); } /* Authorization: Basic YWRtaW46YWRtaW4= Accept: text/html User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 Accept-Encoding: gzip,deflate,sdch Accept-Language: zh-CN,zh;q=0.8 */ void Dialog::on_start_clicked() { QString get_str = "http://192.168.2.1/userRpm/WlanNetworkRpm.htm?ssid1=haha&wlMode=2&channel=3&mode=5 \ &chanWidth=2&ap=1&broadcast=2&brlssid=&brlbssid= \ &keytype=1&wepindex=1&authtype=1&keytext=&Save=%B1%A3+%B4%E6 HTTP/1.1"; QUrl url(get_str); QNetworkRequest req; req.setUrl(url); req.setRawHeader("Authorization", "Basic YWRtaW46YWRtaW4="); manager->get(req); } |