You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2007/06/15 09:06:31 UTC
svn commit: r547557 - in /harmony/enhanced/buildtest/branches/2.0:
adaptors/ehwa/ tests/ehwa/
Author: smishura
Date: Fri Jun 15 00:06:30 2007
New Revision: 547557
URL: http://svn.apache.org/viewvc?view=rev&rev=547557
Log:
Apply slightly modified patch from HARMONY-4159 ([testing] EHWA scenario improvement)
Tested on Linux against snapshot
Modified:
harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/README.txt
harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/adaptor.xml
harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/parameters.xml
harmony/enhanced/buildtest/branches/2.0/tests/ehwa/README.txt
harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.au3
harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.pl
harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_run.xml
Modified: harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/README.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/README.txt?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/README.txt (original)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/README.txt Fri Jun 15 00:06:30 2007
@@ -140,9 +140,15 @@
ehwa.parameters.optional.tested.jre.options=<Tested JRE options>
- sets JRE options for eclipse launching, default is "-showversion"
+ To configure scenario run, use the following option:
+
+ ehwa.parameters.optional.delay.factor=<N>
+ - sets factor used in time delays inside the scenario, default value is 2.
+
Cruise Control Web Port and Port for JMX console can be specified by the following properties:
framework.parameters.cc.jmxport
framework.parameters.cc.webport
+
Please, see BT Readmes for more information.
7. Run EHWA on the previously built Harmony JRE the with command:
Modified: harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/adaptor.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/adaptor.xml?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/adaptor.xml (original)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/adaptor.xml Fri Jun 15 00:06:30 2007
@@ -18,6 +18,7 @@
<!-- ======================================================================
BT Adaptor for Eclipse Hello World Application (EHWA) scenario
====================================================================== -->
+
<project name="ehwa" default="run" basedir=".">
<property environment="env"/>
@@ -126,7 +127,7 @@
</target>
<!-- Run of the EHWA scenario -->
- <target name="run" depends="clean">
+ <target name="run">
<log message="============= Adaptor for ${suite.name}: Run ..."/>
<exec-ant file="ehwa_run.xml"
@@ -134,29 +135,9 @@
<sysproperty key="result.dir" value="${results.dir}/${suite.name}"/>
<sysproperty key="eclipse.home" value="${eclipse-3.2.1.homedir}/eclipse"/>
<sysproperty key="tested.jre" value="${tested.runtime}"/>
- <sysproperty key="tested.jre.options" value="${ehwa.parameters.optional.tested.vm.options}"/>
+ <sysproperty key="tested.jre.options" value="${ehwa.parameters.optional.tested.jre.options}"/>
+ <sysproperty key="delay.factor" value="${ehwa.parameters.optional.delay.factor}"/>
</exec-ant>
-
- <fileset id="ehwa.log.file.id" dir="${results.dir}/${suite.name}" includes="**/EHWA.log"/>
- <fileset id="eclipse.log.file.id" dir="${results.dir}/${suite.name}" includes="**/eclipse.log"/>
-
- <property name="ehwa.log.file" refid="ehwa.log.file.id"/>
- <property name="eclipse.log.file" refid="eclipse.log.file.id"/>
-
- <loadfile srcfile="${results.dir}/${suite.name}/${ehwa.log.file}" property="ehwa.log"/>
- <loadfile srcfile="${results.dir}/${suite.name}/${eclipse.log.file}" property="eclipse.log"/>
-
- <echo file="${results.dir}/${suite.name}/EHWA-message.txt" append="false"
- message="${ehwa.log}${line.separator}"/>
-
- <echo file="${results.dir}/${suite.name}/EHWA-message.txt" append="true"
- message="***********************************************************${line.separator}"/>
-
- <echo file="${results.dir}/${suite.name}/EHWA-message.txt" append="true"
- message="Eclipse log:${line.separator}${line.separator}${eclipse.log}${line.separator}"/>
-
- <echo file="${results.dir}/${suite.name}/EHWA-message.txt" append="true"
- message="***********************************************************${line.separator}"/>
</target>
<!-- Clean of the EHWA scenario results -->
Modified: harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/parameters.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/parameters.xml?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/parameters.xml (original)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/ehwa/parameters.xml Fri Jun 15 00:06:30 2007
@@ -25,9 +25,12 @@
</required>
<optional>
- <tested.vm.options
- description="JVM options for tested runtime"
+ <tested.jre.options
+ description="Options for the tested runtime"
value=""/>
+ <delay.factor
+ description="Factor used in time delays inside the scenario"
+ value="2"/>
<eclipse.download.address
description="Url where Eclipse download archives can be found"
value="http://mirrors.nsa.co.il/eclipse/eclipse/downloads/drops/R-3.2.1-200609210945"/>
@@ -37,10 +40,6 @@
<shared/>
- <cc>
- <summary
- description="EHWA scenario logs to attach to CC notification"
- value="${results.dir}/${suite.name}/EHWA-message.txt"/>
- </cc>
+ <cc/>
</parameters>
Modified: harmony/enhanced/buildtest/branches/2.0/tests/ehwa/README.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/ehwa/README.txt?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/ehwa/README.txt (original)
+++ harmony/enhanced/buildtest/branches/2.0/tests/ehwa/README.txt Fri Jun 15 00:06:30 2007
@@ -90,10 +90,11 @@
ant -buildfile ehwa_run.xml -Declipse.home=<Eclipse-3.2.1 Home> \
-Dtested.jre=<Path to JRE under test> \
[-Dtested.jre.options=<Tested JRE options>] \
- [-Dresult.dir=<Dir for storing EHWA run results>]
+ [-Dresult.dir=<Dir for storing EHWA run results>] \
+ [-Ddelay.factor=<N>]
-Where tested.jre.options property is empty by default and
-result.dir is <INSTALL_DIR> by default
+Where by default tested.jre.options property is empty,
+result.dir is <INSTALL_DIR> and delay.factor is equal to 2.
NOTE: Use only 'clean' Eclipse, which isn't bound to any working projects,
for running EHWA scenario, because Eclipse config will be cleaned
@@ -110,6 +111,27 @@
Eclipse workspace log and picture of the screen if an error has occurred.
+KNOWN ISSUES
+============
+
+ 1) If the scenario often fails to observe some window,
+ but no configuration or JRE errors is visible,
+ it is recommended to increase delay.factor.
+
+ 2) If the scenario fails to observe some menu on Windows*,
+ it is recommended to uncheck 'Hide underlined letters
+ for keyboard navigation until I press Alt key' in
+ Display properties -> Appearance -> Effects.
+
+ 3) If any unexpected problems appear during scenario contiguous run
+ under Cruise Control, it is strongly recommended to run BT framework
+ using Sun JDK* 1.5.
+
+ 4) If use Remote Desktop Connection for the scenario run you should not
+ minimize remote desktop window. Also, please, turn off screen saver.
+ These are needed for correct work of GUI automation tool.
+
+
DISCLAIMER AND LEGAL INFORMATION
================================
Modified: harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.au3
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.au3?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.au3 (original)
+++ harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.au3 Fri Jun 15 00:06:30 2007
@@ -16,28 +16,33 @@
; specific language governing permissions and limitations
; under the License.
-; Set options
-Opt("WinWaitDelay", 1000) ; wait for 1c
-Opt("SendKeyDelay", 150) ; wait for 150mc
-Opt("WinTitleMatchMode", 4)
-Opt("WinDetectHiddenText", 1)
-Opt("TrayIconDebug", 1)
-
; Set variables
Select
- Case $CmdLine[0] = 3 OR $CmdLine[0] = 4
+ Case $CmdLine[0] = 4 OR $CmdLine[0] = 5
Dim Const $eclipse_home = $CmdLine[1]
Dim Const $tested_jre = $CmdLine[2]
Dim Const $resultsDir = $CmdLine[3]
+ Dim Const $delay_factor = Number($CmdLine[4])
Dim $jre_options = ""
- If $CmdLine[0] = 4 Then
- $jre_options = $CmdLine[4]
+ If $CmdLine[0] = 5 Then
+ $jre_options = $CmdLine[5]
EndIf
+ If $delay_factor < 1 Then
+ ConsoleWrite(@LF & "ERROR: Delay factor < 1! " & @LF & "EHWA FAILED!" & @LF)
+ Exit(1)
+ EndIf
Case Else
ConsoleWrite("ERROR! Wrong number of input parameters! STOP." & @LF & "EHWA FAILED!" & @LF)
Sleep(3000)
Exit(1)
EndSelect
+
+; Set options
+Opt("WinWaitDelay", 1000) ; wait for 1c
+Opt("SendKeyDelay", 200*$delay_factor) ; wait for 150mc
+Opt("WinTitleMatchMode", 4)
+Opt("WinDetectHiddenText", 1)
+Opt("TrayIconDebug", 1)
LogWrite(@LF & "--- Automated Eclipse EHWA scenario for Eclipse 3.2.1 ---" & @LF & @LF)
@@ -52,6 +57,7 @@
LogWrite("Eclipse Home = " & $eclipse_home & @LF)
LogWrite("Tested JRE = " & $tested_jre & @LF)
LogWrite("Tested JRE options for Eclipse launching = " & $jre_options & @LF)
+LogWrite("Delay factor = " & $delay_factor & @LF)
; Start
LogWrite(@LF & "Start:" & @LF)
@@ -63,7 +69,7 @@
; 1
LogWrite(@TAB & "Wait Eclipse 'Workspace Launcher' window to appear " & @LF)
WinWaitImpl("Workspace Launcher", "", 180)
-If Not WinActive("Workspace Launcher", "Select a workspace") Then WinActivate("Workspace Launcher")
+If Not WinActive("Workspace Launcher") Then WinActivate("Workspace Launcher")
WinWaitActiveImpl("Workspace Launcher", "", 30)
LogWrite(@TAB & "window appeared " & @LF)
@@ -78,29 +84,18 @@
; 3
LogWrite(@TAB & "Wait 'Java - Eclipse SDK' window to appear " & @LF)
WinWaitImpl("Java - Eclipse SDK", "", 180)
-If Not WinActive("Java - Eclipse SDK", "") Then WinActivate("Java - Eclipse SDK","")
+If Not WinActive("Java - Eclipse SDK") Then WinActivate("Java - Eclipse SDK")
WinWaitActiveImpl("Java - Eclipse SDK", "", 30)
LogWrite(@TAB & "window appeared " & @LF)
-ControlFocus("Java - Eclipse SDK", "", "ToolbarWindow321")
-ControlClick("Java - Eclipse SDK", "", "ToolbarWindow321")
-If @error=1 Then
- LogWrite(@TAB & "ERROR! Welcome page window wasn't found. STOP." & @LF)
- PrintErrorScreen()
- ExitImpl(1)
-EndIf
+SleepImpl(1000)
LogWrite(@TAB & "Close Welcome page " & @LF)
-ControlFocus("Java - Eclipse SDK", "", "ToolbarWindow321")
-ControlSend("Java - Eclipse SDK", "", "ToolbarWindow321", "!+Q")
-WinWaitNotActive("Java - Eclipse SDK", "")
-Send("p")
-WinWaitActiveImpl("Java - Eclipse SDK", "", 30)
-Sleep(3000)
+;Send("!wvp{ENTER}")
+Send("!+{NUMPADSUB}c")
+SleepImpl(3000)
; 4
LogWrite(@TAB & "Create new Java project" & @LF)
-Send("!f")
-Send("n")
-Send("r")
+Send("!fnr")
; 5
LogWrite(@TAB & "Wait 'New Project' window to appear" & @LF)
@@ -127,6 +122,7 @@
If Not WinActive("New Java Project") Then WinActivate("New Java Project")
WinWaitActiveImpl("New Java Project","",30)
LogWrite(@TAB & "window appeared, " & @LF)
+SleepImpl(1000)
LogWrite(@TAB & "Type EHWA as a project name" & @LF)
ControlFocus("New Java Project", "", "Edit2")
ControlSetText("New Java Project", "", "Edit2", "EHWA" )
@@ -158,6 +154,7 @@
If Not WinActive("New Java Class") Then WinActivate("New Java Class")
WinWaitActiveImpl("New Java Class","",30)
LogWrite(@TAB & "window appeared " & @LF)
+SleepImpl(1000)
; 8
LogWrite(@TAB & "Type EHWA as class name" & @LF)
@@ -186,12 +183,12 @@
If Not WinActive("New Java Class") Then WinActivate("Java - EHWA.java - Eclipse SDK")
WinWaitActiveImpl("Java - EHWA.java - Eclipse SDK","",30)
LogWrite(@TAB & "EHWA class was successfully created" & @LF)
-Sleep(3000)
+SleepImpl(3000)
LogWrite(@TAB & "Add System.out.println(""Hello, world!""); string in the main method of EHWA class" & @LF)
ControlFocus("Java - EHWA.java - Eclipse SDK", "", "SWT_Window039")
ControlSend("Java - EHWA.java - Eclipse SDK", "", "SWT_Window039", "{DOWN 8}{TAB}")
ControlSend("Java - EHWA.java - Eclipse SDK", "", "SWT_Window039", "System.out.println(""Hello, world{!}"");")
-Sleep(3000)
+SleepImpl(3000)
; 12
WinWaitImpl("Java - EHWA.java - Eclipse SDK","",60)
@@ -208,7 +205,7 @@
Send("!w")
Send("v")
Send("c")
-Sleep(3000)
+SleepImpl(3000)
; 13
WinWaitImpl("Java - EHWA.java - Eclipse SDK","",60)
@@ -265,7 +262,7 @@
ExitImpl(1)
EndIf
WEnd
-Sleep(3000)
+SleepImpl(3000)
If Not WinExists("Java - EHWA.java - Eclipse SDK") Then
LogWrite(@TAB & "ERROR! Window 'Java - EHWA.java - Eclipse SDK' doesn't exists. STOP." & @LF)
PrintErrorScreen()
@@ -276,6 +273,10 @@
ExitImpl(0)
; Auxiliary functions
+
+Func SleepImpl($sleep_time)
+ Sleep($sleep_time*$delay_factor)
+EndFunc
Func LogWrite($string)
Dim Const $logfile = $resultsDir & "\EHWA.log"
Modified: harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.pl
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.pl?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.pl (original)
+++ harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_eclipse_3.2.1.pl Fri Jun 15 00:06:30 2007
@@ -38,31 +38,37 @@
RunApp
/;
- # Set option
- SetKeySendDelay(150);
-
# Current directory
$curdir = `pwd`;
$curdir =~ s/\n//;
# Set variables
$vm_options = "";
- if ((scalar(@ARGV) == 4) || (scalar(@ARGV) == 5)) {
+ if ((scalar(@ARGV) == 5) || (scalar(@ARGV) == 6)) {
$os_arch = $ARGV[0];
$eclipse_home = $ARGV[1];
$java_home = $ARGV[2];
$resultsDir = $ARGV[3];
- if(scalar(@ARGV) == 5) {
- $vm_options = $ARGV[4];
+ $delay_factor = $ARGV[4];
+ if(scalar(@ARGV) == 6) {
+ $vm_options = $ARGV[5];
}
+ if ($delay_factor < 1) {
+ LogWrite("\nERROR: Delay factor < 1! \n\nEHWA FAILED!\n");
+ die "ERROR: Delay factor < 1!";
+ }
LogWrite("\nEclipse Home = $eclipse_home\n");
LogWrite("Tested JRE = $java_home\n");
- LogWrite("Tested JRE options for Eclipse launching = $vm_options\n\n");
+ LogWrite("Tested JRE options for Eclipse launching = $vm_options\n");
+ LogWrite("Delay factor = $delay_factor \n\n");
} else {
print("ERROR: Wrong number of input parameters! \n\nEHWA FAILED!\n");
die "ERROR: Wrong number of input parameters!";
}
+ # Set option
+ SetKeySendDelay(200*$delay_factor);
+
LogWrite("--- Automated EHWA scenario for Eclipse 3.2.1 --- \n\n");
# Check if some Eclipse window is already olpened
@@ -113,6 +119,7 @@
# Wait New Java Project window to appear
$winID = WinWaitImpl('New Java Project');
+ SleepImpl();
LogWrite("Type 'EHWA' as project name \n");
WinSendKeys('EHWA', 'New Java Project');
SleepImpl();
@@ -159,7 +166,7 @@
SleepImpl();
WinSendKeys('{TAB}', 'Java - EHWA.java - Eclipse SDK');
SleepImpl();
- WinSendKeys('System.out.println{(}"Hello, World{RIG}{RIG};', 'Java - EHWA.java - Eclipse SDK');
+ WinSendKeys('System.out.println{(}"Hello, World{!}{RIG}{RIG};', 'Java - EHWA.java - Eclipse SDK');
SleepImpl();
# Save EHWA class
@@ -181,9 +188,7 @@
# Exit Eclipse
LogWrite("Exit Eclipse \n");
$winID = WinWaitImpl('Java - EHWA.java - Eclipse SDK');
- WinSendKeys('%(f)', 'Java - EHWA.java - Eclipse SDK');
- SleepImpl();
- WinSendKeys('x', 'Java - EHWA.java - Eclipse SDK');
+ WinSendKeys('%(f)x', 'Java - EHWA.java - Eclipse SDK');
WinWaitCloseImpl($winID);
SleepImpl();
@@ -196,7 +201,7 @@
sub WinWaitImpl {
my $winName = shift;
- my $delay = shift || 120;
+ my $delay = (shift || 120) * $delay_factor;
LogWrite(" wait window '".$winName."' to appear ...\n");
my @wins = WaitWindowViewable($winName, 0, $delay);
if(scalar(@wins) > 0) {
@@ -225,7 +230,7 @@
sub WinWaitCloseImpl {
my $win = shift;
my $winName = GetWindowName($win);
- my $delay = shift || 120;
+ my $delay = (shift || 120) * $delay_factor;
LogWrite(" wait window '".$winName."' to close ...\n");
my $result = WaitWindowClose($win, $delay);
if($result > 0) {
@@ -324,12 +329,13 @@
if ($result != 0) {
LogWrite("\tERROR: Can't save screen picture to $resultsDir/error.xwd! \n");
} else {
- LogWrite("\tPicture was saved to $resultsDir/error.xwd \n");
+ LogWrite("\tPicture was saved to $resultsDir/error.xwd. Use 'xwud -in error.xwd' to view the saved file. \n");
}
}
sub SleepImpl {
$delay = shift || 6000;
+ $delay = $delay*$delay_factor;
SendKeys('{PAUSE '.$delay.'}');
}
Modified: harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_run.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_run.xml?view=diff&rev=547557&r1=547556&r2=547557
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_run.xml (original)
+++ harmony/enhanced/buildtest/branches/2.0/tests/ehwa/ehwa_run.xml Fri Jun 15 00:06:30 2007
@@ -115,27 +115,32 @@
<isset property="result.dir"/>
</condition>
+ <condition property="delay.factor.set" value="${delay.factor}" else="2">
+ <isset property="delay.factor"/>
+ </condition>
+
<condition property="args"
- value="ehwa_eclipse_3.2.1.au3 "${eclipse.home}" "${tested.jre}" "${res.dir}" "${jre.options}"">
+ value="ehwa_eclipse_3.2.1.au3 "${eclipse.home}" "${tested.jre}" "${res.dir}" ${delay.factor.set} "${jre.options}"">
<isset property="is.windows"/>
</condition>
<condition property="args"
- value="./ehwa_eclipse_3.2.1.pl x86 "${eclipse.home}" "${tested.jre}" "${res.dir}" "${jre.options}"">
+ value="./ehwa_eclipse_3.2.1.pl x86 "${eclipse.home}" "${tested.jre}" "${res.dir}" ${delay.factor.set} "${jre.options}"">
<isset property="is.linux.x86"/>
</condition>
<condition property="args"
- value="./ehwa_eclipse_3.2.1.pl x86_64 "${eclipse.home}" "${tested.jre}" "${res.dir}" "${jre.options}"">
+ value="./ehwa_eclipse_3.2.1.pl x86_64 "${eclipse.home}" "${tested.jre}" "${res.dir}" ${delay.factor.set} "${jre.options}"">
<isset property="is.linux.x86_64"/>
</condition>
<target name="run" description="Run EHWA scenario" if="platform.supported">
<echo>--- Run EHWA scenario on the following configuration ---</echo>
- <echo>TESTED JRE = ${tested.jre}</echo>
- <echo>TESTED JRE OPTIONS = ${jre.options}</echo>
- <echo>ECLIPSE HOME = ${eclipse.home}</echo>
+ <echo>Tested JRE = ${tested.jre}</echo>
+ <echo>Tested JRE options = ${jre.options}</echo>
+ <echo>Eclipse Home = ${eclipse.home}</echo>
+ <echo>Delay factor = ${delay.factor.set}</echo>
<echo>---------------------------------------------------------</echo>
<antcall target="check.autoit"/>
@@ -189,12 +194,13 @@
</condition>
<antcall target="print.fail.message"/>
+ <copy file="${res.dir}/EHWA.log" tofile="${result.dir}/EHWA-message.txt"/>
<fail message="EHWA FAILED!" unless="ehwa.passed"/>
- <echo>EHWA PASSED!</echo>
+ <echo message="EHWA PASSED!" level="error"/>
</target>
<target name="print.fail.message" unless="ehwa.passed">
- <echo message="${line.separator}${fail.message}${line.separator}"/>
+ <echo message="${line.separator}${fail.message}${line.separator}" level="error"/>
</target>
<target name="check.tested.jre" description="Checks if tested.jre is correct">