|
The latest release (R_1641) of WebTest does not solve this issue:
http://webtest-community.canoo.com/jira/browse/WT-354 Upgrading to Scriptaculous 1.8.1 and Canoo WebTest R_1702 seems to work. However, upgrading to R_1702 seems to break JSF's FileUpload. Heres' the stack trace:
FileUpload: [INFO] [talledLocalContainer] ERROR [http-9876-11] _ErrorPageWriter.handleException(350) | An exception occurred [INFO] [talledLocalContainer] javax.faces.FacesException: Error calling action method of component with id uploadForm:upload [INFO] [talledLocalContainer] at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:69) [INFO] [talledLocalContainer] at javax.faces.component.UICommand.broadcast(UICommand.java:121) [INFO] [talledLocalContainer] at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274) [INFO] [talledLocalContainer] at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:250) [INFO] [talledLocalContainer] at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:405) [INFO] [talledLocalContainer] at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) [INFO] [talledLocalContainer] at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) [INFO] [talledLocalContainer] at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) [INFO] [talledLocalContainer] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75) [INFO] [talledLocalContainer] at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.appfuse.webapp.filter.MessageFilter.doFilter(MessageFilter.java:46) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) [INFO] [talledLocalContainer] at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164) [INFO] [talledLocalContainer] at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141) [INFO] [talledLocalContainer] at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90) [INFO] [talledLocalContainer] at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:106) [INFO] [talledLocalContainer] at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.appfuse.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74) [INFO] [talledLocalContainer] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) [INFO] [talledLocalContainer] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359) [INFO] [talledLocalContainer] at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) [INFO] [talledLocalContainer] at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:172) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:268) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:87) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) [INFO] [talledLocalContainer] at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:61) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] [INFO] [talledLocalContainer] at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371) ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] [talledLocalContainer] at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) [INFO] [talledLocalContainer] at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) [INFO] Error executing ant tasks Embedded error: The following error occurred while executing this line: /Users/mraible/Work/appfuse-2.0/web/jsf/src/test/resources/web-tests.xml:208: Wrong document title found!. Expected value ".*File Uploaded Successfully!.*" but got "Error - Error calling action method of component with id uploadForm:upload | AppFuse" And the root cause: Caused by: javax.faces.el.EvaluationException: javax.el.ELException: /selectFile.xhtml @40,46 action="#{fileUpload.upload}": java.io.FileNotFoundException: /Users/mraible/Work/appfuse-2.0/web/jsf/target/tomcat5x/container/webapps/appfuse-jsf-2.0.2-SNAPSHOT/resources/admin/Users/mraible/Work/appfuse-2.0/web/jsf/pom.xml (No such file or directory) at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:79) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54) ... 93 more Caused by: javax.el.ELException: /selectFile.xhtml @40,46 action="#{fileUpload.upload}": java.io.FileNotFoundException: /Users/mraible/Work/appfuse-2.0/web/jsf/target/tomcat5x/container/webapps/appfuse-jsf-2.0.2-SNAPSHOT/resources/admin/Users/mraible/Work/appfuse-2.0/web/jsf/pom.xml (No such file or directory) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74) at javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75) ... 94 more Caused by: java.io.FileNotFoundException: /Users/mraible/Work/appfuse-2.0/web/jsf/target/tomcat5x/container/webapps/appfuse-jsf-2.0.2-SNAPSHOT/resources/admin/Users/mraible/Work/appfuse-2.0/web/jsf/pom.xml (No such file or directory) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:179) at java.io.FileOutputStream.<init>(FileOutputStream.java:70) at org.appfuse.webapp.action.FileUpload.upload(FileUpload.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.el.parser.AstValue.invoke(AstValue.java:152) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) ... 95 more FileUpload.java has:
// if (filename.indexOf("\\") != -1) { int slash = filename.lastIndexOf("\\"); if (slash != -1) { filename = filename.substring(slash + 1); } // Windows doesn't like /'s either int slash2 = filename.lastIndexOf("/"); if (slash2 != -1) { filename = filename.substring(slash2 + 1); } // In case the name is C:foo.txt int slash3 = filename.lastIndexOf(":"); if (slash3 != -1) { filename = filename.substring(slash3 + 1); } } Adding the following before it is a workaround that allows R_1702 to work with JSF. // if (filename.indexOf("/") > -1) { filename = filename.substring(filename.lastIndexOf("/") + 1); } |
||||||||||||||||||||||||||||||||||
Embedded error: The following error occurred while executing this line:
/Users/mraible/dev/appfuse-2.0/web/struts/src/test/resources/login.xml:1: JavaScript error loading page http://localhost:9876/appfuse-struts-2.0.1-SNAPSHOT/login.jsp: [object Error] (http://localhost:9876/appfuse-struts-2.0.1-SNAPSHOT/scripts/prototype.js#596)
Line #596 is in the catch block of the following:
var Enumerable = {
each: function(iterator, context) {
var index = 0;
iterator = iterator.bind(context);
try {
this._each(function(value) {
iterator(value, index++);
});
} catch (e) {
if (e != $break) throw e;
}
return this;
},