From f6518ea767486b29a90dcc0be70a4e5f1a2c9d34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Tue, 24 Jan 2017 14:17:07 +0000 Subject: [PATCH] show test result as check mark or cross --- src/commands.hxx | 14 +++--- src/testgui.hxx | 19 ++++++-- src/testgui.ui | 120 ++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 142 insertions(+), 11 deletions(-) diff --git a/src/commands.hxx b/src/commands.hxx index dc0a197..208045e 100644 --- a/src/commands.hxx +++ b/src/commands.hxx @@ -222,14 +222,14 @@ class Command: public QObject { res += value.mid(start, m.capturedStart()-start); value.remove(0, m.capturedEnd()); if (keepDelimiters && m.capturedLength()) res+=m.captured().mid(start).trimmed(); - std::cout<<"REMOVE: \""<addAction(_sourceDock->toggleViewAction()); menuViews->addAction(_executeDock->toggleViewAction()); _progress->hide(); + _status->setCurrentIndex(STATUS_NONE); QSettings settings("mrw", "webtester"); restoreGeometry(settings.value("geometry").toByteArray()); restoreState(settings.value("windowstate").toByteArray()); @@ -80,20 +81,24 @@ class TestGUI: public QMainWindow, protected Ui::TestGUI { QString name(QFileDialog::getOpenFileName(this, tr("Open Test Script"))); if (name.isEmpty()) return; loadFile(name); + _status->setCurrentIndex(STATUS_NONE); } void on__actionOpenSetupScript_triggered() { QString name(QFileDialog::getOpenFileName(this, tr("Open Setup Script"))); if (name.isEmpty()) return; loadSetup(name); + _status->setCurrentIndex(STATUS_NONE); } void on__actionRevertToSaved_triggered() { loadFile(_filename); + _status->setCurrentIndex(STATUS_NONE); } void on__actionSaveAs_triggered() { QString name(QFileDialog::getSaveFileName(this, tr("Save Test Script"))); if (name.isEmpty()) return; _filename = name; on__actionSave_triggered(); + _status->setCurrentIndex(STATUS_NONE); } void on__actionSave_triggered() { QFile file(_filename); @@ -113,6 +118,7 @@ class TestGUI: public QMainWindow, protected Ui::TestGUI { "Cannot write test script to file %1.") .arg(_filename).arg(x.what())); } + _status->setCurrentIndex(STATUS_NONE); } void on__actionClear_triggered() { _testscript->clear(); @@ -120,10 +126,12 @@ class TestGUI: public QMainWindow, protected Ui::TestGUI { _filename.clear(); _actionSave->setEnabled(false); _actionRevertToSaved->setEnabled(false); + _status->setCurrentIndex(STATUS_NONE); } void on__run_clicked() { _progress->reset(); _progress->show(); + _status->setCurrentIndex(STATUS_RUNNING); bool oldRecordState(_record->isChecked()); _record->setChecked(false); _record->setEnabled(false); @@ -145,10 +153,9 @@ class TestGUI: public QMainWindow, protected Ui::TestGUI { script.parse(text.split('\n'), "script"); script.run(_web->page()->mainFrame(), testsuites, QString(), _screenshots->isChecked()); + _status->setCurrentIndex(STATUS_SUCCESS); } catch (std::exception &x) { - QMessageBox::critical(this, tr("Script Failed"), - tr("Script failed with message:\n%1") - .arg(x.what())); + _status->setCurrentIndex(STATUS_ERROR); } _run->setEnabled(true); _record->setEnabled(true); @@ -844,6 +851,12 @@ class TestGUI: public QMainWindow, protected Ui::TestGUI { URL_VIEW = 0, PROGRESS_VIEW }; + enum RunStatus { + STATUS_NONE = 0, + STATUS_RUNNING, + STATUS_SUCCESS, + STATUS_ERROR + }; private: QString _filename; QWebElement _lastFocused; // cache for last focussed element diff --git a/src/testgui.ui b/src/testgui.ui index 224dd34..f7321a4 100644 --- a/src/testgui.ui +++ b/src/testgui.ui @@ -434,11 +434,79 @@ this.dispatchEvent(evObj); 20 - 82 + 28 + + + + + 0 + 0 + + + + 0 + + + + + + + + + 0 + 0 + + + + <div style="font-size: xx-large">⌛</div> + + + + + + + + + + + + 0 + 0 + + + + <div style="font-size: xx-large; color: green">✔</div> + + + + + + + + + + + + 0 + 0 + + + + <div style="font-size: xx-large; color: red">✘</div> + + + true + + + + + + + @@ -616,21 +684,33 @@ this.dispatchEvent(evObj); Open ... + + Ctrl+O + Save As ... + + Ctrl+Shift+S + Quit + + Ctrl+Q + Run + + Ctrl+R + @@ -660,6 +740,9 @@ this.dispatchEvent(evObj); Save + + Ctrl+S + @@ -668,6 +751,9 @@ this.dispatchEvent(evObj); Revert to saved + + Ctrl+R + @@ -966,5 +1052,37 @@ this.dispatchEvent(evObj); + + _actionQuit + triggered() + TestGUI + close() + + + -1 + -1 + + + 443 + 589 + + + + + _actionRun + triggered() + _run + click() + + + -1 + -1 + + + 299 + 90 + + +