summaryrefslogtreecommitdiffstats
path: root/uitest/test.xml
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-08-30 17:24:36 +0300
committerArtur Signell <artur@vaadin.com>2012-08-30 17:24:36 +0300
commit7b25b3886ea95bc6495506fbe9472e45fcbde684 (patch)
tree0b93cb65dab437feb46720659a63b8f1ef48f7f4 /uitest/test.xml
parent8941056349e302e687e40e94c13709e75f256d73 (diff)
downloadvaadin-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.xml184
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>