cancel
Showing results for 
Search instead for 
Did you mean: 

Load testing Alfresco using JMeter

poptarts
Champ in-the-making
Champ in-the-making
Hi all, I've successfully load tested Alfresco using JMeter to browse various nodes and log in hundreds of users.

My question: is it possible to use JMeter to initiate a workflow? I've tried using JMeter's proxy to load test the above case, but JMeter cannot replicate the process when it involves load testing a workflow wizard.

Has anyone done workflow wizards, or any wizards using JMeter yet? Any successes? Failures?
16 REPLIES 16

steve
Champ in-the-making
Champ in-the-making
Hi,

I am not sure anyone has tried using Jmeter with workflows yet.
I'll ask around and post back if anyone has.

Steve

poptarts
Champ in-the-making
Champ in-the-making
Hi,

I am not sure anyone has tried using Jmeter with workflows yet.
I'll ask around and post back if anyone has.

Steve

Thanks Steve. JMeter seems to get confused when doing anything involving Dialogs, such as executing a Simple Workflow or even when uploading a file.

Uploading a file works sometimes in that JMeter doesn't get a 500 Server Error, but the file itself does not appear in the space.

Thanks a lot for your help!

edgar_torres
Champ in-the-making
Champ in-the-making
Hi, I'm currently building a JMeter script to Login, Upload content, Delete content, and Logout.
I'm getting a 500 http error when trying to delete a file from alfresco. I built the script based on the proxy captured requests; but it seems something is wrong or missing.

the Delete request are:

POST http://localhost:8080/faces/jsp/wcm/browse-sandbox.jsp

POST data:
browse-sandbox%3Asearch%3A_option=0&browse-sandbox%3Asearch=&browse-sandbox%3Aweb-search=&browse-sandbox%3Afolder-pages=25&browse-sandbox%3Afiles-pages=25&browse-sandbox_SUBMIT=1&browse-sandbox%3Afiles-list%3Asort=&browse-sandbox%3A_idJsp7=&id=test–edgar%3A%2Fwww%2Favm_webapps%2FROOT%2Fcontent%2Faccessory-detail%2Ftest-002.xml&ref=workspace://SpacesStore/${deleteWorkspace}&browse-sandbox%3A_idJsp9=&browse-sandbox%3Asidebar-body%3Anavigator=&browse-sandbox%3Amodelist=&browse-sandbox%3Aact=browse-sandbox%3Adelete_file_browseid_-%24%7Bdelete_docid%7D&browse-sandbox%3Afolder-list%3Asort=&javax.faces.ViewState=rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0AAExcHQADi9qc3AvbG9naW4uanNw

Cookie Data:
JSESSIONID=E4F2F0B94C360571ED25CB917A0A03A5.node1; alfUser=edgar

Request Headers:
Content-Length: 702
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
——————–
POST http://localhost:8080/faces/jsp/dialog/container.jsp

POST data:
dialog%3Asearch%3A_option=0&dialog%3Asearch=&dialog%3Afinish-button=OK&dialog_SUBMIT=1&id=&dialog%3Aact=&dialog%3Asidebar-body%3Anavigator=&dialog%3A_link_hidden_=&dialog%3A_idcl=&dialog%3A_idJsp7=&dialog%3Amodelist=&javax.faces.ViewState=rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0AAExcHQADi9qc3AvbG9naW4uanNw

Cookie Data:
JSESSIONID=E4F2F0B94C360571ED25CB917A0A03A5.node1; alfUser=edgar

Request Headers:
Content-Length: 327
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded


The result Error is:

System Error

javax.faces.FacesException: An exception occurred processing JSP page /jsp/dialog/container.jsp at line 36  33: <%@ page import="org.alfresco.web.app.Application" %> 34: <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> 35: 36: <r:page title="<%=Application.getDialogManager().getTitle() %>"> 37: 38: <f:view> 39:   Stacktrace: caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/dialog/container.jsp at line 36  33: <%@ page import="org.alfresco.web.app.Application" %> 34: <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> 35: 36: <r:page title="<%=Application.getDialogManager().getTitle() %>"> 37: 38: <f:view> 39:   Stacktrace: caused by: java.lang.NullPointerException
   v Show Details
javax.faces.FacesException: An exception occurred processing JSP page /jsp/dialog/container.jsp at line 36  33: <%@ page import="org.alfresco.web.app.Application" %> 34: <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> 35: 36: <r:page title="<%=Application.getDialogManager().getTitle() %>"> 37: 38: <f:view> 39:   Stacktrace: at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/dialog/container.jsp at line 36  33: <%@ page import="org.alfresco.web.app.Application" %> 34: <%@ page import="org.alfresco.web.ui.common.PanelGenerator" %> 35: 36: <r:page title="<%=Application.getDialogManager().getTitle() %>"> 37: 38: <f:view> 39:   Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:415) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292) at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419) … 25 more Caused by: java.lang.NullPointerException at org.alfresco.web.bean.dialog.DialogManager.getTitle(DialogManager.java:197) at org.apache.jsp.jsp.dialog.container_jsp._jspService(container_jsp.java:158) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) … 35 more
Return to application
Logout


Thanks,

steve
Champ in-the-making
Champ in-the-making
Hi,

There are some issues with your jmeter code.

1. Leave ref field empty.
2. Provide valid value for delete_file_browseid_${deleteFileBrowseID} - in your code given above ${deleteFileBrowseID} is empty.
You should extract it from the preceding request.
If you use any regular expression extractor - ensure that it work correctly.

POST http://localhost:8080/faces/jsp/wcm/browse-sandbox.jsp
POST data:
browse-sandbox%3Asearch%3A_option=0&browse-sandbox%3Asearch=&browse-sandbox%3Aweb-search=&browse-sandbox%3Afolder-pages=25&browse-sandbox%3Afiles-pages=25&browse-sandbox_SUBMIT=1&browse-sandbox%3Afiles-list%3Asort=&browse-sandbox%3A_idJsp7=&id=test–edgar%3A%2Fwww%2Favm_webapps%2FROOT%2Fcontent%2Faccessory-detail%2Ftest-002.xml&ref=workspace://SpacesStore/${deleteWorkspace}&browse-sandbox%3A_idJsp9=&browse-sandbox%3Asidebar-body%3Anavigator=&browse-sandbox%3Amodelist=&browse-sandbox%3Aact=browse-sandbox%3Adelete_file_browseid_-%24%7Bdelete_docid%7D&browse-sandbox%3Afolder-list%3Asort=&javax.faces.ViewState=rO0ABXVyABNbTGphdmEubGFuZy5PYmplY3Q7kM5YnxBzKWwCAAB4cAAAAAN0AAExcHQADi9qc3AvbG9naW4uanNw

steve
Champ in-the-making
Champ in-the-making
Edgar,

What version of Alfresco are you trying to use jmeter on?

Thanks,

Steve

edgar_torres
Champ in-the-making
Champ in-the-making
Hi,
It's Alfresco version 2.2

I also have tried to re-run the jmeter proxy captured requests but still getting the error 500, something else should be missing..  =S

Regards,

steve
Champ in-the-making
Champ in-the-making
Hi Edgar,

I have emailed you a sample working script that works for what you are trying to perform, hopefully it will give you some help in getting yours working.

Regards,

Steve

steve
Champ in-the-making
Champ in-the-making
emailed.

zomurn
Champ in-the-making
Champ in-the-making
I managed to do a junit meter simple login test : login, browse and logout.
But when I attempt to open a dialog through a request with jmeter, I have this NullPointerException quoted in this topic too.
Can you email me your script please. I need to test dialogs response time.