]> source.dussan.org Git - archiva.git/commitdiff
print screenshot path in the stack trace failure
authorOlivier Lamy <olamy@apache.org>
Fri, 2 Mar 2012 18:39:27 +0000 (18:39 +0000)
committerOlivier Lamy <olamy@apache.org>
Fri, 2 Mar 2012 18:39:27 +0000 (18:39 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1296377 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp-test-js/src/test/java/org/apache/archiva/web/test/parent/AbstractSeleniumTest.java
archiva-modules/archiva-web/archiva-webapp-test-js/src/test/java/org/apache/archiva/web/test/tools/ArchivaSeleniumExecutionRule.java

index 25325b7d55606f5f27de4b185ec9042b42924a57..69bb0791f94e046540479432721fcb7ab22cb17f 100644 (file)
@@ -62,6 +62,7 @@ public abstract class AbstractSeleniumTest
 
     /**
      * this method is called by the Rule before executing a test
+     *
      * @throws Exception
      */
     public void open()
@@ -649,7 +650,7 @@ public abstract class AbstractSeleniumTest
         Assert.assertEquals( getSelenium().getValue( locator ), expectedValue );
     }
 
-    public void captureScreenShotOnFailure( Throwable failure, String methodName, String className )
+    public String captureScreenShotOnFailure( Throwable failure, String methodName, String className )
     {
         SimpleDateFormat sdf = new SimpleDateFormat( "yyyy.MM.dd-HH_mm_ss" );
         String time = sdf.format( new Date() );
@@ -673,8 +674,10 @@ public abstract class AbstractSeleniumTest
         selenium.windowMaximize();
 
         File fileName = new File( targetPath, fileBaseName + ".png" );
+
         selenium.captureEntirePageScreenshot( fileName.getAbsolutePath(), "background=#FFFFFF" );
 
+        return fileName.getAbsolutePath();
     }
 
 }
\ No newline at end of file
index f7a7eb68134f07e0bda55b7a3275646799fe5922..b113ccf4e179e9ecdbecb30d8e4b5d00f3a41edc 100644 (file)
@@ -31,7 +31,7 @@ import org.junit.runners.model.Statement;
 public class ArchivaSeleniumExecutionRule
     implements MethodRule //TestRule
 {
-
+    // FIXME cerate a separate TestRule for open and close calls ?
     public Selenium selenium;
 
     public Statement apply( Statement base, FrameworkMethod method, Object target )
@@ -43,8 +43,11 @@ public class ArchivaSeleniumExecutionRule
         }
         catch ( Throwable e )
         {
-            ( (AbstractSeleniumTest) target ).captureScreenShotOnFailure( e, method.getMethod().getName(),
-                                                                          target.getClass().getName() );
+            String fileName =
+                ( (AbstractSeleniumTest) target ).captureScreenShotOnFailure( e, method.getMethod().getName(),
+                                                                              target.getClass().getName() );
+
+            throw new RuntimeException( e.getMessage() + " see screenShot file:" + fileName, e );
         }
         finally
         {
@@ -63,6 +66,6 @@ public class ArchivaSeleniumExecutionRule
 
     public Statement apply( Statement base, Description description )
     {
-        return base;  //To change body of implemented methods use File | Settings | File Templates.
+        return base;
     }
 }