summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Sorvig <msorvig@trolltech.com>2009-08-19 06:17:23 +0200
committerMorten Sorvig <msorvig@trolltech.com>2009-08-19 06:18:00 +0200
commit0cef0206c94c20d287bc38b7ce517839b5dafe12 (patch)
tree1b65e8f230ccb2e6e7560dfa301db88f26db17ae
parent1a6fd4f87ec2bcad55765c189e6659e49c1e6dc4 (diff)
Add load testing application
-rw-r--r--loadtester/loadtester.pro18
-rw-r--r--loadtester/main.cpp10
-rw-r--r--loadtester/mainwindow.cpp40
-rw-r--r--loadtester/mainwindow.h28
-rw-r--r--loadtester/mainwindow.ui133
5 files changed, 229 insertions, 0 deletions
diff --git a/loadtester/loadtester.pro b/loadtester/loadtester.pro
new file mode 100644
index 0000000..0286763
--- /dev/null
+++ b/loadtester/loadtester.pro
@@ -0,0 +1,18 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2009-08-18T15:16:56
+#
+#-------------------------------------------------
+
+QT += webkit
+
+TARGET = loadtester
+TEMPLATE = app
+
+
+SOURCES += main.cpp\
+ mainwindow.cpp
+
+HEADERS += mainwindow.h
+
+FORMS += mainwindow.ui
diff --git a/loadtester/main.cpp b/loadtester/main.cpp
new file mode 100644
index 0000000..6e7efd9
--- /dev/null
+++ b/loadtester/main.cpp
@@ -0,0 +1,10 @@
+#include <QtGui/QApplication>
+#include "mainwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ MainWindow w;
+ w.show();
+ return a.exec();
+}
diff --git a/loadtester/mainwindow.cpp b/loadtester/mainwindow.cpp
new file mode 100644
index 0000000..383996f
--- /dev/null
+++ b/loadtester/mainwindow.cpp
@@ -0,0 +1,40 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include <QWebView>
+
+MainWindow::MainWindow(QWidget *parent)
+ : QMainWindow(parent), ui(new Ui::MainWindow)
+{
+ pageCount = 0;
+ ui->setupUi(this);
+ connect(ui->pushButton_go, SIGNAL(clicked()), SLOT(loadPages()));
+ connect(ui->lineEdit_url, SIGNAL(returnPressed()), SLOT(loadPages()));
+ connect(ui->spinBox_pageSelect, SIGNAL(valueChanged(int)), SLOT(showPage(int)));
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+
+void MainWindow::loadPages()
+{
+ for (int i = 0; i < ui->spinBox_connectCount->value(); ++i) {
+ QWebView *webView = new QWebView(this);
+ webView->load(QUrl(ui->lineEdit_url->text()));
+ ui->stackedWidget_pages->addWidget(webView);
+ }
+ pageCount += ui->spinBox_connectCount->value();
+ ui->lineEdit_pageCount->setText(QString::number(pageCount));
+ ui->spinBox_pageSelect->setMaximum(pageCount);
+}
+
+void MainWindow::showPage(int page)
+{
+ ui->stackedWidget_pages->setCurrentIndex(page);
+}
+
+void MainWindow::pageLoaded()
+{
+
+}
diff --git a/loadtester/mainwindow.h b/loadtester/mainwindow.h
new file mode 100644
index 0000000..563da1f
--- /dev/null
+++ b/loadtester/mainwindow.h
@@ -0,0 +1,28 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QtGui/QMainWindow>
+
+namespace Ui
+{
+ class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ MainWindow(QWidget *parent = 0);
+ ~MainWindow();
+
+private slots:
+ void loadPages();
+ void showPage(int page);
+ void pageLoaded();
+private:
+ Ui::MainWindow *ui;
+ int pageCount;
+};
+
+#endif // MAINWINDOW_H
diff --git a/loadtester/mainwindow.ui b/loadtester/mainwindow.ui
new file mode 100644
index 0000000..3076b93
--- /dev/null
+++ b/loadtester/mainwindow.ui
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>MainWindow</string>
+ </property>
+ <widget class="QWidget" name="centralWidget">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Connect to:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_url">
+ <property name="text">
+ <string>http://localhost:1818</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Count</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_connectCount">
+ <property name="maximum">
+ <number>999999999</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_go">
+ <property name="text">
+ <string>Go!</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QStackedWidget" name="stackedWidget_pages">
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Page Count</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit_pageCount">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Show Page</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="spinBox_pageSelect"/>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menuBar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>21</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QToolBar" name="mainToolBar">
+ <attribute name="toolBarArea">
+ <enum>TopToolBarArea</enum>
+ </attribute>
+ <attribute name="toolBarBreak">
+ <bool>false</bool>
+ </attribute>
+ </widget>
+ <widget class="QStatusBar" name="statusBar"/>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>