Thanks Josep! If there's a new release of the webtest-maven-plugin before AppFuse's next release (this month), I'll make sure and switch to the plugin.
On Fri, Oct 29, 2010 at 11:07 AM, Josep García <jgar...@isigma.es> wrote: > Hello, > I have succeded in the integration of webtest-maven-plugin into AppFuse > 2.0.2. > Below is the diff. > Beware, where it says 0.6.7-isigma, it means the trunk version of > webtest-maven-plugin from the cvs repo: > http://svn.codehaus.org/mojo/trunk/sandbox/webtest-maven-plugin > > It seems the webtest-maven-plugin-0.6.7-SNAPSHOT.jar artifact available in > the maven repo is different from the one generated from a fresh checkout! I > renamed the version in my local installation to 0.6.7-isigma so there is no > mix-up. > > If you don't use the fresh one, you will get an error: > > Embedded error: import requires support in ProjectHelper > [INFO] > ------------------------------------------------------------------------ > [INFO] Trace > org.apache.maven.lifecycle.LifecycleExecutionException: > ... > > With these, you can do a "mvn clean verify site" and you'll get a nice > Webtest report :-) > Beware, I have configured it so it does not fail if any webtest fails. > > Cheers, > Josep > > Diff: > diff -r 82ed445c829b pom.xml > --- a/pom.xml Fri Oct 29 18:36:06 2010 +0200 > +++ b/pom.xml Fri Oct 29 18:52:38 2010 +0200 > @@ -686,31 +686,19 @@ > <reporting> > <plugins> > <plugin> > - <artifactId>maven-changes-plugin</artifactId> > - </plugin> > - <plugin> > - <artifactId>maven-checkstyle-plugin</artifactId> > + <artifactId>maven-surefire-report-plugin</artifactId> > + <reportSets> > + <reportSet> > + <reports> > + <report>report-only</report> > + </reports> > + </reportSet> > + </reportSets> > </plugin> > <plugin> > <groupId>org.codehaus.mojo</groupId> > - <artifactId>cobertura-maven-plugin</artifactId> > - <version>2.0</version> > - </plugin> > - <plugin> > - <artifactId>maven-javadoc-plugin</artifactId> > - </plugin> > - <plugin> > - <artifactId>maven-jxr-plugin</artifactId> > - </plugin> > - <plugin> > - <artifactId>maven-pmd-plugin</artifactId> > - <configuration> > - <linkXref>true</linkXref> > - <targetJdk>1.5</targetJdk> > - </configuration> > - </plugin> > - <plugin> > - <artifactId>maven-surefire-report-plugin</artifactId> > + <artifactId>webtest-maven-plugin</artifactId> > + <version>0.6.7-isigma</version> > </plugin> > </plugins> > </reporting> > @@ -733,7 +721,7 @@ > <wait>${cargo.wait}</wait> > <container> > > <containerId>${cargo.container}</containerId> > - <!--home>${cargo.container.home}</home--> > + <type>${cargo.type}</type> > <zipUrlInstaller> > <url>${cargo.container.url}</url> > <installDir>${installDir}</installDir> > @@ -765,50 +753,37 @@ > </executions> > </plugin> > <plugin> > - <artifactId>maven-antrun-plugin</artifactId> > - <version>1.1</version> > - <configuration> > - <tasks> > - <taskdef > resource="webtest_base_relaxed.taskdef"> > - <classpath > refid="maven.test.classpath"/> > - </taskdef> > - <mkdir dir="target/webtest-data"/> > - <!-- Delete old results file if it exists > --> > - <delete > file="target/webtest-data/web-tests-result.xml"/> > - <!-- This is so the default will be used > if no test case is specified --> > - <property name="test" > value="run-all-tests"/> > - <echo level="info">Testing > '${project.build.finalName}' with locale '${user.language}'</echo> > - <ant > antfile="src/test/resources/web-tests.xml" target="${test}"> > - <property name="user.language" > value="${user.language}"/> > - <property name="webapp.name" > value="${project.build.finalName}"/> > - <property name="host" > value="${cargo.host}"/> > - <property name="port" > value="${cargo.port}"/> > - </ant> > - </tasks> > - </configuration> > + <groupId>org.codehaus.mojo</groupId> > + <artifactId>webtest-maven-plugin</artifactId> > + <version>0.6.7-isigma</version> > <executions> > <execution> > + <id>webtest-test</id> > <phase>integration-test</phase> > <goals> > - <goal>run</goal> > + <goal>test</goal> > + </goals> > + <configuration> > + <host>${cargo.host}</host> > + <port>${cargo.port}</port> > + > <sourcedirectory>src/test/resources</sourcedirectory> > + <sourcefile>web-tests.xml</sourcefile> > + <target>run-all-tests</target> > + > <basepath>${project.build.finalName}</basepath> > + > <resultpath>target/webtest/webtest-results</resultpath> > + <haltonfailure>false</haltonfailure> > + <haltonerror>false</haltonerror> > + <loglevel>error</loglevel> > + </configuration> > + </execution> > + <execution> > + <id>webtest-report</id> > + <phase>post-integration-test</phase> > + <goals> > + <goal>report</goal> > </goals> > </execution> > </executions> > - <dependencies> > - <dependency> > - <groupId>com.canoo.webtest</groupId> > - <artifactId>webtest</artifactId> > - <version>${webtest.version}</version> > - <!-- groovy-all doesn't have a pom in > central repo --> > - <!-- exclude groovy to prevent trying to > fetch pom --> > - <exclusions> > - <exclusion> > - <groupId>groovy</groupId> > - > <artifactId>groovy-all</artifactId> > - </exclusion> > - </exclusions> > - </dependency> > - </dependencies> > </plugin> > </plugins> > </build> > diff -r 82ed445c829b src/test/resources/config.xml > --- a/src/test/resources/config.xml Fri Oct 29 18:36:06 2010 +0200 > +++ b/src/test/resources/config.xml Fri Oct 29 18:52:38 2010 +0200 > @@ -1,5 +1,16 @@ > -<config host="${host}" port="${port}" protocol="http" > - basepath="${webapp.name}" resultpath="target/webtest-data" > saveresponse="true" > - resultfile="web-tests-result.xml" summary="true"> > +<config > + host="${host}" > + port="${port}" > + protocol="http" > + basepath="${basepath}" > + saveresponse="true" > + haltonfailure="${haltonfailure}" > + haltonerror="${haltonerror}" > + resultpath="${resultpath}" > + resultfile="web-tests-result.xml" > + summary="true"> > <header name="Accept-Language" value="${user.language}"/> > -</config> > \ No newline at end of file > + <option name="ThrowExceptionOnScriptError" value="false"/> > + <option name="ThrowExceptionOnFailingStatusCode" value="false"/> > + > +</config> > diff -r 82ed445c829b src/test/resources/web-tests.xml > --- a/src/test/resources/web-tests.xml Fri Oct 29 18:36:06 2010 +0200 > +++ b/src/test/resources/web-tests.xml Fri Oct 29 18:52:38 2010 +0200 > @@ -3,9 +3,10 @@ > <!ENTITY login SYSTEM "./login.xml"> > ]> > <project basedir="." default="run-all-tests"> > + <taskdef resource="webtestTaskdefs.properties" /> > <!-- Use i18n bundle, 2nd one listed is the default --> > - <property file="\${basedir}/target/${webapp.name > }/WEB-INF/classes/ApplicationResources_${user.language}.properties"/> > - <property file="\${basedir}/target/${webapp.name > }/WEB-INF/classes/ApplicationResources.properties"/> > + <property > file="../../../target/classes/ApplicationResources_${user.language}.properties"/> > + <property > file="../../../target/classes/ApplicationResources.properties"/> > > <!-- runs all targets --> > <target name="run-all-tests" > @@ -215,7 +216,7 @@ > <invoke description="click Upload a File link" > url="/uploadFile.html"/> > <verifytitle description="we should see file upload form" > text=".*${upload.title}.*" regex="true"/> > <setinputfield description="set name" name="name" > value="Canoo Test File"/> > - <setFileField description="set file" name="file" > fileName="pom.xml"/> > + <setFileField description="set file" name="file" > fileName="../../../pom.xml"/> > <clickbutton label="${button.upload}" description="Click > Upload"/> > <verifytitle description="show file data if upload OK" > text=".*${display.title}.*" regex="true"/> > <verifytext description="verify original filename > displayed on page" text="pom.xml"/> > > [image: isotipo isigma] > Josep García Corral > Ingeniero de Software > isigma, la referencia en firma electrónica > Tel. +34 932 387 108 > www.isigma.es > > [image: logotipo portasigma] > ¡Prueba gratis la firma online! <http://www.portasigma.com> >