summaryrefslogtreecommitdiffstats
path: root/tests/testcases
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testcases')
-rw-r--r--tests/testcases/result-example.xml37
-rw-r--r--tests/testcases/testcase1/packagemanagement.qs35
-rw-r--r--tests/testcases/testcase1/test-uninstall.qs30
-rw-r--r--tests/testcases/testcase1/testcase1.cfg5
-rw-r--r--tests/testcases/testcase1/testscript.qs69
5 files changed, 176 insertions, 0 deletions
diff --git a/tests/testcases/result-example.xml b/tests/testcases/result-example.xml
new file mode 100644
index 000000000..937625b3c
--- /dev/null
+++ b/tests/testcases/result-example.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8""?>
+<feed xmlns="http://www.w3.org/2005/Atom" xmlns:tf="http://sdk.nokia.com/test-framework/ns/1.0">
+ <entry>
+ <title>ab12cd34ef - installer-20090310.exe - checks failed :-(</title>
+ <updated>2010-03-10T14:00Z</updated>
+ <tf:host>test-machine_1.local</tf:host>
+ <tf:testStart>2010-03-10T13:00Z</tf:testStart>
+ <tf:testEnd>2010-03-10T13:49Z</tf:testEnd>
+
+ <tf:installer>
+ <tf:sourceUrl>ftp://buildmachine/installers/installer-20090310.exe</tf:sourceUrl>
+ <tf:revision>ab12cd34ef</tf:revision> <!-- if we have sth like that -->
+ <tf:platform>windows</tf:platform>
+ </tf:installer>
+ <tf:virtualMachine>
+ <tf:path>/home/testuser/VMs/WindowsXp/WindowsXp.vmx</tf:path>
+ <tf:platform>windows</tf:platform>
+ <tf:snapshot>base</tf:snapshot>
+ </tf:virtualMachine>
+ <tf:testCase>
+ <tf:name>Basic Installation</tf:name>
+ <tf:path>/home/testuser/testcases/basic/basic.cfg</tf:path>
+ <tf:installScript>/home/testuser/testcases/basic/testscript.qs</tf:installScript>
+ </tf:testCase>
+ <tf:installationResult>
+ <tf:exitCode>0</tf:exitCode>
+ <tf:exitStatus>normal</tf:exitStatus>
+ <tf:summary>NoError</tf:summary>
+ </tf:installationResult>
+ <tf:checkerResult>
+ <tf:item type="files">c:\sdk\bin\qmake.exe: md5 sum mismatch: expected: abcd1234 actual: 1234abcd</tf:item>
+ <tf:summary>InstallerError</tf:summary>
+ </tf:checkerResult>
+ <tf:internalErrors/>
+ <tf:errorSummary>InstallerError</tf:summary>
+ </entry>
+</feed>
diff --git a/tests/testcases/testcase1/packagemanagement.qs b/tests/testcases/testcase1/packagemanagement.qs
new file mode 100644
index 000000000..3c6dcfdeb
--- /dev/null
+++ b/tests/testcases/testcase1/packagemanagement.qs
@@ -0,0 +1,35 @@
+function Controller()
+{
+ installer.autoRejectMessageBoxes
+ this.componentSelectionCounter = 0
+}
+
+Controller.prototype.UpdaterSelectedCallback = function()
+{
+ tabController.setCurrentTab( TabController.PACKAGE_MANAGER )
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function()
+{
+ if ( this.componentSelectionCounter == 0 ) {
+ print( "first time, uninstall" )
+ var page = gui.pageWidgetByObjectName( "ComponentSelectionPage" )
+ page.deselectComponent( "com.nokia.sdk.doc.qtcreator" )
+ gui.clickButton( buttons.NextButton, 3000 )
+ this.componentSelectionCounter += 1
+ } else {
+ print( "second time, click cancel" )
+ gui.clickButton( buttons.CancelButton )
+ }
+}
+
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.FinishedPageCallback = function()
+{
+ gui.clickButton( buttons.CommitButton )
+}
diff --git a/tests/testcases/testcase1/test-uninstall.qs b/tests/testcases/testcase1/test-uninstall.qs
new file mode 100644
index 000000000..c2d707fe1
--- /dev/null
+++ b/tests/testcases/testcase1/test-uninstall.qs
@@ -0,0 +1,30 @@
+function Controller()
+{
+ installer.autoRejectMessageBoxes
+}
+
+
+Controller.prototype.IntroductionPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "ComponentSelectionPage" )
+ page.keepSelectedComponentsRB.setChecked( true )
+ page.deselectComponent( "com.nokia.sdk.qt.gui" )
+ page.deselectComponent( "hgrmpfl (non-existing package)" ) // bad case for component lookup
+ page.selectComponent( "hgrmpfl2 (another non-existing package)" ) // bad case for component lookup
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.FinishedPageCallback = function()
+{
+ gui.clickButton( buttons.FinishButton )
+}
diff --git a/tests/testcases/testcase1/testcase1.cfg b/tests/testcases/testcase1/testcase1.cfg
new file mode 100644
index 000000000..d66c7d56c
--- /dev/null
+++ b/tests/testcases/testcase1/testcase1.cfg
@@ -0,0 +1,5 @@
+[General]
+installscript=testscript.qs
+platforms=windows,linux
+targetDirectory=c:\Users\kdab\Desktop\testinstall
+checkerTestDir=checker
diff --git a/tests/testcases/testcase1/testscript.qs b/tests/testcases/testcase1/testscript.qs
new file mode 100644
index 000000000..a19c0f9de
--- /dev/null
+++ b/tests/testcases/testcase1/testscript.qs
@@ -0,0 +1,69 @@
+function Controller()
+{
+ installer.autoRejectMessageBoxes
+ installer.setMessageBoxAutomaticAnswer( "overwriteTargetDirectory", QMessageBox.Yes )
+}
+
+
+Controller.prototype.IntroductionPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.LicenseAgreementPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "LicenseAgreementPage" )
+ page.acceptLicenseRB.setChecked( true )
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "TargetDirectoryPage" )
+ page.targetDirectoryLE.setText( "c:\\Users\\kdab\\Desktop\\testinstall" )
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "ComponentSelectionPage" )
+ page.deselectComponent( "com.nokia.sdk.qtcreator" )
+ page.deselectComponent( "hgrmpfl (non-existing package)" ) // bad case for component lookup
+ page.selectComponent( "hgrmpfl2 (another non-existing package)" ) // bad case for component lookup
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.DynamicQtGuiPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "DynamicQtGuiPage" )
+ page.checkBoxLib.setChecked( false )
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.DynamicErrorPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "DynamicErrorPage" )
+ page.checkBoxMakeSure.setChecked( true )
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.StartMenuDirectoryPageCallback = function()
+{
+ gui.clickButton( buttons.NextButton )
+}
+
+Controller.prototype.PerformInstallationPageCallback = function()
+{
+ var page = gui.pageWidgetByObjectName( "PerformInstallationPage" )
+ page.details.button.click
+}
+
+Controller.prototype.FinishedPageCallback = function()
+{
+ gui.clickButton( buttons.FinishButton )
+}