sailfish-core icon indicating copy to clipboard operation
sailfish-core copied to clipboard

Failed to create a new test, NPE in logs

Open mbolotov opened this issue 4 years ago • 3 comments

Steps to reproduce:

  1. Build and start fresh instance of Sailfish
  2. Create a new matrix
  3. Create a new testcase

GUI shows 'Error Test case has not been added' popup. Log shows NPE: 12 мар 2020 18:27:35,502 ERROR [http-nio-8080-exec-8] com.exactpro.sf.testwebgui.scriptruns.MatrixEditorBean - Index: 0, Size: 0 java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:657) at java.util.ArrayList.get(ArrayList.java:433) at com.exactpro.sf.testwebgui.scriptruns.JSONMatrixEditor.addTestcase(JSONMatrixEditor.java:296) at com.exactpro.sf.testwebgui.scriptruns.MatrixEditorBean.createTestcase(MatrixEditorBean.java:113) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.el.parser.AstValue.invoke(AstValue.java:247) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:149) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:814) at javax.faces.component.UICommand.broadcast(UICommand.java:300) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.exactpro.sf.testwebgui.servlets.filters.ApplicationErrorFilter.doFilter(ApplicationErrorFilter.java:83) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.exactpro.sf.testwebgui.servlets.filters.RestrictionsFilter.doFilter(RestrictionsFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.exactpro.sf.testwebgui.servlets.filters.CacheControlFilter.doFilter(CacheControlFilter.java:44) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.exactpro.sf.testwebgui.restapi.CustomCorsFilter.doFilter(CustomCorsFilter.java:71) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

I started Sailfish as follows:

  1. git clone https://github.com/exactpro/sailfish-core.git
  2. cd sailfish-core
  3. ./gradlew clean build -x test
  4. ./gradlew cleanSharedWorkspace publishPlugin
  5. ./gradlew cargoRunLocal -PquickStart

mbolotov avatar Mar 12 '20 15:03 mbolotov

Hi, @mbolotov. Currently MatrixEditor (Edit in grid) is not considered as test scripts IDE. It supposed to be used for adhoc edits or something like that.

You can refer to the attached examples. There are two services to be imported on Environment tab and csv matrix to be uploaded on Test scripts tab in the zip.

fix-matrix-example.zip

bop0hz avatar Mar 13 '20 08:03 bop0hz

Hi @mbolotov, can we close the issue?

bop0hz avatar Mar 19 '20 15:03 bop0hz

well, I was able to run the test you provided, but the initial problem is obivously still there. so you it's your choice whether to close this issue.

mbolotov avatar Mar 19 '20 16:03 mbolotov