diff options
author | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-08-30 17:24:36 +0300 |
commit | 7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch) | |
tree | 0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/test.xml | |
parent | 8941056349e302e687e40e94c13709e75f256d73 (diff) | |
download | vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.tar.gz vaadin-framework-7b25b3886ea95bc6495506fbe9472e45fcbde684.zip |
Renamed tests -> uitest and tests/testbench -> uitest/src (#9299)
Diffstat (limited to 'uitest/test.xml')
-rw-r--r-- | uitest/test.xml | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/uitest/test.xml b/uitest/test.xml new file mode 100644 index 0000000000..9b879ec789 --- /dev/null +++ b/uitest/test.xml @@ -0,0 +1,184 @@ +<?xml version="1.0"?> +<project xmlns:antcontrib="antlib:net.sf.antcontrib" + xmlns:ivy="antlib:org.apache.ivy.ant" + name="Run Vaadin Testbench Tests" basedir="." default="run-and-clean-up"> + + <property name="project.root" value=".."/> + <!-- Import common targets --> + <import file="../build/common.xml" /> + + <!-- ================================================================== --> + <!-- Configuration --> + <!-- ================================================================== --> + <!-- Browsers to use for testing --> + <property name="browsers-windows" value="winxp-ie8,win7-ie9,winxp-firefox12,winxp-safari5,winxp-googlechrome21,winxp-opera11" /> + <property name="browsers-linux" value="linux-firefox3,linux-opera10,linux-googlechrome8" /> + <property name="browsers-mac" value="osx-firefox3,osx-opera10,osx-googlechrome8,osx-safari4,osx-safari5" /> + + <property name="browsers" value="${browsers-windows}" /> + + <!-- Number of times to retry a test if it fails --> + <property name="retries" value="2" /> + + <!-- Screen shot base directory --> + <fail unless="com.vaadin.testbench.screenshot.directory" message="The 'com.vaadin.testbench.screenshot.directory' property must be defined." /> + + <!-- Screen shot resolution --> + <property name="com.vaadin.testbench.screenshot.resolution" value="1500x850" /> + + <!-- Host running Testbench Hub --> + <property name="com.vaadin.testbench.tester.host" value="testbench-hub.intra.itmill.com" /> + + <property name="com.vaadin.testbench.screenshot.block.error" value="0.025"/> + <property name="com.vaadin.testbench.debug" value="false"/> + + <!-- Temporary output directory, created and removed by this script --> + <fail unless="test-output-dir" message="The 'test-output-dir' property must be defined." /> + + <property name="class-dir" value="${test-output-dir}/classes" /> + + <target name="initialize" depends="common.init-deps"> + <ivy:resolve conf="emma"/> + <ivy:cachepath pathid="emma.lib" conf="emma" /> + <!-- classpath must include test bench jar and its dependencies --> + <path id="classpath"> + <fileset dir="${com.vaadin.testbench.lib.dir}" includes="**/*.jar" /> + <path refid="emma.lib" /> + </path> + </target> + + <!-- fileset containing all TestBench tests to run --> + <fileset dir=".." id="html-test-files"> + <include name="tests/**/**.html" /> + <include name="testbench/com/vaadin/tests/**/**.html" /> + <exclude name="tests/integration-testscripts/**" /> + </fileset> + + <!-- This target converts HTML tests files to java junit tests. One test file for each browser is created. --> + <target name="create-tests" depends="initialize, remove-temp-testclasses"> + <pathconvert pathsep=" " property="testfiles" refid="html-test-files" /> + + <java classname="com.vaadin.testbench.util.TestConverter" classpathref="classpath" fork="true"> + <sysproperty key="com.vaadin.testbench.test.retries" value="${retries}" /> + <jvmarg value="-Duser.language=en"/> + <jvmarg value="-Duser.country=US"/> + <arg value="${test-output-dir}" /> + <arg value="${browsers}" /> + <arg line="${testfiles}" /> + </java> + </target> + + + <!-- This target complies the generated java junit tests. --> + <target name="compile-tests" depends="create-tests"> + <mkdir dir="${class-dir}" /> + <javac includeantruntime="false" srcdir="${test-output-dir}" destdir="${class-dir}" debug="on" fork="yes" failonerror="false" encoding="UTF8"> + <classpath> + <path refid="classpath" /> + </classpath> + </javac> + </target> + + <!-- ================================================================== --> + <!-- Running Tests --> + <!-- ================================================================== --> + + <target name="check-parameters"> + <fail unless="com.vaadin.testbench.lib.dir" message="The 'com.vaadin.testbench.lib.dir' property must be defined." /> + <fail unless="com.vaadin.testbench.tester.host" message="The 'com.vaadin.testbench.tester.host' property must be defined." /> + <fail unless="com.vaadin.testbench.deployment.url" message="The 'com.vaadin.testbench.deployment.url' property must be defined." /> + </target> + + <target name="run-tests" depends="compile-tests"> + <fileset dir="${test-output-dir}" id="tests-fileset"> + <include name="**/**.java" /> + </fileset> + + <antcontrib:for threadCount="30" parallel="true" keepgoing="true" param="target"> + <path> + <fileset refid="tests-fileset" /> + </path> + <sequential> + <antcall target="execute-tests"> + <param name="target" value="@{target}" /> + <reference refid="classpath" /> + </antcall> + </sequential> + </antcontrib:for> + </target> + + <!-- This target runs the generated and compiled junit tests --> + <target name="execute-tests"> + <junit fork="yes" printsummary="withOutAndErr" maxmemory="96m"> + <classpath> + <path refid="classpath" /> + <pathelement path="${class-dir}" /> + </classpath> + + <formatter usefile="false" type="plain"/> + + <jvmarg value="-Dcom.vaadin.testbench.tester.host=${com.vaadin.testbench.tester.host}" /> + <jvmarg value="-Dcom.vaadin.testbench.deployment.url=${com.vaadin.testbench.deployment.url}" /> + <!-- Define where the reference screenshots and diff files are saved --> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.directory=${com.vaadin.testbench.screenshot.directory}" /> + <!-- Resolution for screenshots --> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.resolution=${com.vaadin.testbench.screenshot.resolution}" /> + <jvmarg value="-Dcom.vaadin.testbench.debug=${com.vaadin.testbench.debug}" /> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.block.error=${com.vaadin.testbench.screenshot.block.error}" /> + + + <jvmarg value="-Djava.awt.headless=true" /> + + <!-- true/false system arguments --> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.softfail=${com.vaadin.testbench.screenshot.softfail}" /> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.reference.debug=${com.vaadin.testbench.screenshot.reference.debug}" /> + <jvmarg value="-Dcom.vaadin.testbench.screenshot.cursor=${com.vaadin.testbench.screenshot.cursor}" /> + + <batchtest> + <filelist dir="${test-output-dir}" files="${target}" /> + </batchtest> + </junit> + + </target> + + <!-- Remove temporary source and compiled java files --> + <target name="remove-temp-testclasses"> + <delete failonerror="false"> + <fileset dir="${test-output-dir}"> + <include name="**/**.java" /> + <include name="**/**.class" /> + </fileset> + </delete> + </target> + + <!-- Remove old error screenshots --> + <target name="remove-error-screens"> + <mkdir dir="${com.vaadin.testbench.screenshot.directory}/errors" /> + <delete> + <fileset dir="${com.vaadin.testbench.screenshot.directory}/errors"> + <include name="**/**.*" /> + </fileset> + </delete> + </target> + + <!-- ================================================================== --> + <!-- Main Targets --> + <!-- ================================================================== --> + + <!-- The default target. --> + <target name="run-and-clean-up" depends="check-parameters,remove-error-screens,run-tests" /> + + <!-- Also starts the server. --> + <target name="test-package"> + <parallel> + <daemons> + <ant antfile="vaadin-server.xml" inheritall="true" inheritrefs="true" target="deploy-and-start" /> + </daemons> + <sequential> + <ant antfile="vaadin-server.xml" target="wait-for-startup" /> + <antcall inheritall="true" inheritrefs="true" target="run-and-clean-up" /> + <move file="${testing.testarea}/${package.name}/war.ec" todir="../build/result" failonerror="false" /> + </sequential> + </parallel> + </target> +</project> |