Test your websites with this simple GUI based scripted webtester. Generate simple testscripts directly from surfng on the webpage, enhance them with your commands, with variables, loops, checks, … and finally run automated web tests.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

959 lines
25 KiB

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TestGUI</class>
<widget class="QMainWindow" name="TestGUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>888</width>
<height>1180</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QStackedWidget" name="_urlStack">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>URL:</string>
</property>
<property name="buddy">
<cstring>_url</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="_url">
<property name="text">
<string>https://</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="_load">
<property name="text">
<string>load</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QProgressBar" name="_progress">
<property name="value">
<number>24</number>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="_abort">
<property name="text">
<string>Abort</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QWebView" name="_web" native="true">
<property name="url" stdset="0">
<url>
<string>about:blank</string>
</url>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>888</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuViews">
<property name="title">
<string>Views</string>
</property>
<addaction name="_actionTestScript"/>
<addaction name="_actionDOMTree"/>
<addaction name="_actionLinks"/>
<addaction name="_actionForms"/>
<addaction name="_actionHTMLSouce"/>
<addaction name="_actionExecuteJavaScript"/>
<addaction name="_actionLog"/>
</widget>
<widget class="QMenu" name="menuFile">
<property name="title">
<string>File</string>
</property>
<addaction name="_actionOpen"/>
<addaction name="_actionOpenSetupScript"/>
<addaction name="_actionSave"/>
<addaction name="_actionSaveAs"/>
<addaction name="separator"/>
<addaction name="_actionRun"/>
<addaction name="_actionRunLine"/>
<addaction name="separator"/>
<addaction name="_actionRevertToSaved"/>
<addaction name="_actionClear"/>
<addaction name="_actionQuit"/>
</widget>
<widget class="QMenu" name="menuHelp">
<property name="title">
<string>Help</string>
</property>
<addaction name="_actionCommands"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuViews"/>
<addaction name="menuHelp"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QDockWidget" name="_domDock">
<property name="windowTitle">
<string>DOM Tree</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_5">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QTreeWidget" name="_dom">
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>Element</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_sourceDock">
<property name="windowTitle">
<string>HTML Source</string>
</property>
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_7">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QPlainTextEdit" name="_source"/>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_linksDock">
<property name="windowTitle">
<string>Links</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_8">
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QTableWidget" name="_links">
<property name="columnCount">
<number>2</number>
</property>
<attribute name="horizontalHeaderCascadingSectionResizes">
<bool>true</bool>
</attribute>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>URL</string>
</property>
</column>
<column>
<property name="text">
<string>Description</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_formsDock">
<property name="windowTitle">
<string>Forms</string>
</property>
<attribute name="dockWidgetArea">
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_9">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QTreeWidget" name="_forms">
<property name="rootIsDecorated">
<bool>true</bool>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_executeDock">
<property name="windowTitle">
<string>Execute JavaScript on First Selected Item</string>
</property>
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_10">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Result:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="_jsResult"/>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPlainTextEdit" name="_javascriptCode">
<property name="toolTip">
<string>JavaScript Code to Execute</string>
</property>
<property name="statusTip">
<string>JavaScript Code to Execute</string>
</property>
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;JavaScript code to execute on the selected element. You can use this to refere to the element.&lt;/p&gt;&lt;p&gt;Example, to click the element:&lt;/p&gt;&lt;pre&gt;
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'click', true, true );
this.dispatchEvent(evObj);
&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="plainText">
<string>var evObj = document.createEvent('MouseEvents');
evObj.initEvent( 'click', true, true );
this.dispatchEvent(evObj);</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="_jsExecute">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Execute</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QRadioButton" name="_takeFocused">
<property name="text">
<string>select focused</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="_takeSelect">
<property name="text">
<string>select:</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="_focusedText">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="_selector">
<property name="toolTip">
<string>CSS-Selector</string>
</property>
<property name="statusTip">
<string>Enter CSS-Selector</string>
</property>
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;JavaScript code below will be applied to the first element found by this CSS selector.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QPushButton" name="_focused">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Focused</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="_select">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Test Selector</string>
</property>
<property name="statusTip">
<string>Hilight Selection in Page</string>
</property>
<property name="whatsThis">
<string>Shows you the selection by hilighting it in the web page. This helps you to test before you execute.</string>
</property>
<property name="text">
<string>Select</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_scriptDock">
<property name="windowTitle">
<string>Test Script</string>
</property>
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_12">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" rowspan="4">
<widget class="QPlainTextEdit" name="_testscript"/>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="_record">
<property name="text">
<string>Record</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="_run">
<property name="text">
<string>Run</string>
</property>
</widget>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>82</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="_screenshots">
<property name="text">
<string>Screenshots</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="_logDock">
<property name="windowTitle">
<string>Script Run Log</string>
</property>
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_2">
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QPlainTextEdit" name="_log"/>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="dockWidget">
<property name="windowTitle">
<string>Setup Script</string>
</property>
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QCheckBox" name="_setupscriptactive">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>active</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Status:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="_setupscriptstatus">
<property name="text">
<string>?</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPlainTextEdit" name="_setupscript"/>
</item>
</layout>
</widget>
</widget>
<widget class="QDockWidget" name="dockWidget_2">
<property name="windowTitle">
<string>Script Commands</string>
</property>
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_3">
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
<widget class="QTextBrowser" name="_commands">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<action name="_actionDOMTree">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>DOM Tree</string>
</property>
</action>
<action name="_actionLinks">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Links</string>
</property>
</action>
<action name="_actionForms">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Forms</string>
</property>
</action>
<action name="_actionHTMLSouce">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>HTML Souce</string>
</property>
</action>
<action name="_actionExecuteJavaScript">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Execute JavaScript</string>
</property>
</action>
<action name="_actionTestScript">
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<property name="text">
<string>Test Script</string>
</property>
</action>
<action name="_actionOpen">
<property name="text">
<string>Open ...</string>
</property>
</action>
<action name="_actionSaveAs">
<property name="text">
<string>Save As ...</string>
</property>
</action>
<action name="_actionQuit">
<property name="text">
<string>Quit</string>
</property>
</action>
<action name="_actionRun">
<property name="text">
<string>Run</string>
</property>
</action>
<action name="_actionRunLine">
<property name="text">
<string>Run Line</string>
</property>
</action>
<action name="_actionClear">
<property name="text">
<string>Clear</string>
</property>
</action>
<action name="_actionLog">
<property name="checkable">
<bool>true</bool>
</property>
<property name="text">
<string>Log</string>
</property>
</action>
<action name="_actionSave">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Save</string>
</property>
</action>
<action name="_actionRevertToSaved">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Revert to saved</string>
</property>
</action>
<action name="_actionOpenSetupScript">
<property name="text">
<string>Open Setup Script ...</string>
</property>
</action>
<action name="_actionCommands">
<property name="text">
<string>Commands ...</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>
<class>QWebView</class>
<extends>QWidget</extends>
<header>QtWebKitWidgets/QWebView</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>_url</tabstop>
<tabstop>_load</tabstop>
<tabstop>_web</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>_url</sender>
<signal>returnPressed()</signal>
<receiver>_load</receiver>
<slot>click()</slot>
<hints>
<hint type="sourcelabel">
<x>493</x>
<y>343</y>
</hint>
<hint type="destinationlabel">
<x>580</x>
<y>344</y>
</hint>
</hints>
</connection>
<connection>
<sender>_selector</sender>
<signal>returnPressed()</signal>
<receiver>_jsExecute</receiver>
<slot>click()</slot>
<hints>
<hint type="sourcelabel">
<x>785</x>
<y>1144</y>
</hint>
<hint type="destinationlabel">
<x>875</x>
<y>1075</y>
</hint>
</hints>
</connection>
<connection>
<sender>_selector</sender>
<signal>editingFinished()</signal>
<receiver>_select</receiver>
<slot>click()</slot>
<hints>
<hint type="sourcelabel">
<x>785</x>
<y>1144</y>
</hint>
<hint type="destinationlabel">
<x>874</x>
<y>1144</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionExecuteJavaScript</sender>
<signal>triggered(bool)</signal>
<receiver>_executeDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>630</x>
<y>971</y>
</hint>
</hints>
</connection>
<connection>
<sender>_executeDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionTestScript</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>630</x>
<y>971</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionDOMTree</sender>
<signal>triggered(bool)</signal>
<receiver>_domDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>748</x>
<y>374</y>
</hint>
</hints>
</connection>
<connection>
<sender>_domDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionDOMTree</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>748</x>
<y>374</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionLinks</sender>
<signal>triggered(bool)</signal>
<receiver>_linksDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>748</x>
<y>537</y>
</hint>
</hints>
</connection>
<connection>
<sender>_linksDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionLinks</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>748</x>
<y>537</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionForms</sender>
<signal>triggered(bool)</signal>
<receiver>_formsDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>748</x>
<y>699</y>
</hint>
</hints>
</connection>
<connection>
<sender>_formsDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionForms</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>748</x>
<y>699</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionHTMLSouce</sender>
<signal>triggered(bool)</signal>
<receiver>_sourceDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>182</x>
<y>971</y>
</hint>
</hints>
</connection>
<connection>
<sender>_sourceDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionHTMLSouce</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>182</x>
<y>971</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionTestScript</sender>
<signal>triggered(bool)</signal>
<receiver>_scriptDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>443</x>
<y>155</y>
</hint>
</hints>
</connection>
<connection>
<sender>_scriptDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionTestScript</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>443</x>
<y>155</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
<connection>
<sender>_actionLog</sender>
<signal>triggered(bool)</signal>
<receiver>_logDock</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>842</x>
<y>1004</y>
</hint>
</hints>
</connection>
<connection>
<sender>_logDock</sender>
<signal>visibilityChanged(bool)</signal>
<receiver>_actionLog</receiver>
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>842</x>
<y>1004</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>-1</y>
</hint>
</hints>
</connection>
</connections>
</ui>