zheng-wang / irontest Goto Github PK
View Code? Open in Web Editor NEWA web app for API test automation
License: Apache License 2.0
A web app for API test automation
License: Apache License 2.0
How to call iron test from Jenkins?. There is no direct plugin available in Jenkins for Iron test.
If I create an IIB test step, and try and connect to an IIB 9 broker, I get the following error in the logs:
ERROR [2020-04-15 10:58:51,650] io.irontest.core.runner.DataDrivenTestcaseRunner: null
! java.lang.ClassNotFoundException: com.ibm.broker.config.proxy.IntegrationNodeConnectionParameters
! at java.net.URLClassLoader.findClass(Unknown Source)
! at java.lang.ClassLoader.loadClass(Unknown Source)
! at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
! at java.lang.ClassLoader.loadClass(Unknown Source)
! at io.irontest.core.runner.IIBTeststepRunnerClassLoader.loadClass(IIBTeststepRunnerClassLoader.java:52)
! at java.lang.ClassLoader.loadClass(Unknown Source)
! at java.lang.Class.forName0(Native Method)
! at java.lang.Class.forName(Unknown Source)
! at io.irontest.core.runner.IIB100TeststepRunner.(IIB100TeststepRunner.java:39)
! ... 72 common frames omitted
! Causing: java.lang.reflect.InvocationTargetException: null
! at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
! at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
! at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
! at java.lang.reflect.Constructor.newInstance(Unknown Source)
! at io.irontest.core.runner.IIBTeststepRunner.run(IIBTeststepRunner.java:52)
! at io.irontest.core.runner.TeststepRunner.run(TeststepRunner.java:31)
! at io.irontest.core.runner.TestcaseRunner.runTeststep(TestcaseRunner.java:150)
! at io.irontest.core.runner.DataDrivenTestcaseRunner.run(DataDrivenTestcaseRunner.java:62)
! at io.irontest.resources.TestcaseRunResource.create(TestcaseRunResource.java:50)
! at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
! at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
! at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
! at java.lang.reflect.Method.invoke(Unknown Source)
! at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
! at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
! at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
! at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
! at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
! at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
! at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
! at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
! at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
! at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
! at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
! at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
! at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
! at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
! at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
! at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
! at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
! at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
! at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
! at io.dropwizard.jetty.NonblockingServletHolder.handle(NonblockingServletHolder.java:49)
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
! at io.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:35)
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
! at io.dropwizard.jersey.filter.AllowedMethodsFilter.handle(AllowedMethodsFilter.java:45)
! at io.dropwizard.jersey.filter.AllowedMethodsFilter.doFilter(AllowedMethodsFilter.java:39)
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
! at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
! at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
! at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1317)
! at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
! at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
! at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
! at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1219)
! at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
! at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:239)
! at io.dropwizard.jetty.RoutingHandler.handle(RoutingHandler.java:52)
! at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:674)
! at io.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:67)
! at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
! at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169)
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
! at org.eclipse.jetty.server.Server.handle(Server.java:531)
! at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
! at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
! at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
! at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
! at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
! at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
! at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
! at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
! at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
! at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
! at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762)
! at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680)
! at java.lang.Thread.run(Unknown Source)
Looking at the code (https://github.com/zheng-wang/irontest/blob/658d26417d455640c5ca6e41fe7244eac125f24f/irontest-iib/src/main/java/io/irontest/core/runner/IIBTeststepRunner.java), it seems that the IIB test step is always associated with IIB 10.
In that case, how do I create an IIB 9 test step?
I have recently upgraded from IIB9 to IIB10; and as such need to update all my tests accordingly.
If I open an IIB test step and try to change the endpoint details, I can only select another "MQ" type endpoint, instead of being able to change it to an IIB-type endpoint.
What are the steps for upgrading from 0.13 to 0,14?
If I just copy the database over, I don't see the new FTP steps; and I get an error when I try to create a test step:
There was an error processing your request. It has been logged (ID 5ad0b49b19cc00c3).
Details: org.h2.jdbc.JdbcSQLException: Column "API_REQUEST" not found; SQL statement: /* TeststepDAO._insertWithoutName / insert into teststep (testcase_id, sequence, type, request, api_request, endpoint_id, other_properties) values (?, (select coalesce(max(sequence), 0) + 1 from teststep where testcase_id = ?), ?, ?, ?, ?, ?) [42122-196] [statement:"insert into teststep (testcase_id, sequence, type, request, api_request, endpoint_id, other_properties) values (:t.testcaseId, (select coalesce(max(sequence), 0) + 1 from teststep where testcase_id = :t.testcaseId), :t.type, :request, :apiRequest, :endpointId, :otherProperties)", rewritten:"/ TeststepDAO._insertWithoutName / insert into teststep (testcase_id, sequence, type, request, api_request, endpoint_id, other_properties) values (:t.testcaseId, (select coalesce(max(sequence), 0) + 1 from teststep where testcase_id = :t.testcaseId), :t.type, :request, :apiRequest, :endpointId, :otherProperties)", parsed:"ParsedSql{sql='/ TeststepDAO._insertWithoutName */ insert into teststep (testcase_id, sequence, type, request, api_request, endpoint_id, other_properties) values (?, (select coalesce(max(sequence), 0) + 1 from teststep where testcase_id = ?), ?, ?, ?, ?, ?)', parameters=ParsedParameters{positional=false, parameterNames=[t.testcaseId, t.testcaseId, t.type, request, apiRequest, endpointId, otherProperties]}}", arguments:{ positional:{1:NULL,2:85,3:{"httpHeaders":[]},4:{"minClassName":".APIRequest"}}, named:{request:NULL,apiRequest:{"minClassName":".APIRequest"},endpointId:85,otherProperties:{"httpHeaders":[]}}, finder:[{lazy bean property arguments "io.irontest.models.teststep.Teststep@268016"]}]
Hello dear Zheng,
this is not an issue, i just want to ask you something.
when using SSL for IntegrationNodeConnectionParameters, i have an error:
":"Error: com.ibm.broker.config.proxy.ConfigManagerProxyLoggedException: Could not establish remote connection to target integration node (localhost:4443) as user \u0027test\u0027. HTTP error code was 0"
without ssl, all is fine.
did you had such problem before and do you know what might be the problem.
thank you
I installed MQ and IIB libraries as it was written in wiki, and when run
mvn clean package -pl irontest-mqiib -am -P prod
I got an error:
[ERROR] Failed to execute goal on project irontest-mqiib: Could not resolve depe
ndencies for project io.irontest:irontest-mqiib:jar:0.5.2: Failed to collect dep
endencies at com.ibm:com.ibm.mq.jmqi:jar:[7.5.0.1,7.5.0.6]: No versions availabl
e for com.ibm:com.ibm.mq.jmqi:jar:[7.5.0.1,7.5.0.6] within specified range -> [H
elp 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
n project irontest-mqiib: Could not resolve dependencies for project io.irontest
:irontest-mqiib:jar:0.5.2: Failed to collect dependencies at com.ibm:com.ibm.mq.
jmqi:jar:[7.5.0.1,7.5.0.6]
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe
pendencies(LifecycleDependencyResolver.java:221)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resol
veProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAr
eResolved(MojoExecutor.java:245)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:199)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre
adedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not res
olve dependencies for project io.irontest:irontest-mqiib:jar:0.5.2: Failed to co
llect dependencies at com.ibm:com.ibm.mq.jmqi:jar:[7.5.0.1,7.5.0.6]
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D
efaultProjectDependenciesResolver.java:180)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDe
pendencies(LifecycleDependencyResolver.java:195)
... 23 more
Caused by: org.eclipse.aether.collection.DependencyCollectionException: Failed t
o collect dependencies at com.ibm:com.ibm.mq.jmqi:jar:[7.5.0.1,7.5.0.6]
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDe
pendencies(DefaultDependencyCollector.java:291)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDepen
dencies(DefaultRepositorySystem.java:316)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(D
efaultProjectDependenciesResolver.java:172)
... 24 more
Caused by: org.eclipse.aether.resolution.VersionRangeResolutionException: No ver
sions available for com.ibm:com.ibm.mq.jmqi:jar:[7.5.0.1,7.5.0.6] within specifi
ed range
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.filterVer
sions(DefaultDependencyCollector.java:648)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:394)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDe
pendency(DefaultDependencyCollector.java:363)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(D
efaultDependencyCollector.java:351)
at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDe
pendencies(DefaultDependencyCollector.java:254)
... 26 more
Currently, you can stop a message flow by filling in "Integration Server", "Application" and "Message Flow" for an IIB test case.
If you leave "Message Flow" blank, it would be nice if the whole application could be stopped.
If you leave "Message Flow" and "Application" blank, it would be nice if the whole Integration Server could be stopped.
I have installed the pre-requisites and buided irontest using maven successfullly. But when i try to launch the application, I am getting h2 database error stating "Table version not found".
C:\NCS\IronTest\IronTest_Home>java -Djava.net.useSystemProxies=true -Xdebug -jar irontest-0.15.0.jar server config.yml INFO [2020-09-24 20:38:06,401] io.dropwizard.server.DefaultServerFactory: Registering jersey handler with root path prefix: / INFO [2020-09-24 20:38:06,406] io.dropwizard.server.DefaultServerFactory: Registering admin handler with root path prefix: / INFO [2020-09-24 20:38:06,406] io.dropwizard.assets.AssetsBundle: Registering AssetBundle with name: ui for path /ui/* INFO [2020-09-24 20:38:06,422] io.dropwizard.assets.AssetsBundle: Registering AssetBundle with name: lib for path /ui/lib/* INFO [2020-09-24 20:38:06,422] io.dropwizard.assets.AssetsBundle: Registering AssetBundle with name: mockserver for path /ui/mockserver/* INFO [2020-09-24 20:38:06,422] io.dropwizard.assets.AssetsBundle: Registering AssetBundle with name: common for path /ui/common/* org.jdbi.v3.core.statement.UnableToCreateStatementException: org.h2.jdbc.JdbcSQLException: Table "VERSION" not found; SQL statement: select version from version [42102-196] [statement:"select version from version", rewritten:"select version from version", parsed:"ParsedSql{sql='select version from version', parameters=ParsedParameters{positional=false, parameterNames=[]}}", arguments:{positional:{}, named:{}, finder:[]}] at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1422) at org.jdbi.v3.core.result.ResultProducers.lambda$getResultSet$2(ResultProducers.java:68) at org.jdbi.v3.core.result.ResultIterable.lambda$of$0(ResultIterable.java:53) at org.jdbi.v3.core.result.ResultIterable.findOnly(ResultIterable.java:97) at io.irontest.utils.IronTestUtils.lambda$getSystemDBVersion$3(IronTestUtils.java:369) at org.jdbi.v3.core.Jdbi.withHandle(Jdbi.java:318) at io.irontest.utils.IronTestUtils.getSystemDBVersion(IronTestUtils.java:366) at io.irontest.IronTestApplication.checkVersion(IronTestApplication.java:150) at io.irontest.IronTestApplication.run(IronTestApplication.java:117) at io.irontest.IronTestApplication.run(IronTestApplication.java:54) at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:43) at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87) at io.dropwizard.cli.Cli.run(Cli.java:78) at io.dropwizard.Application.run(Application.java:93) at io.irontest.IronTestApplication.main(IronTestApplication.java:58) Caused by: org.h2.jdbc.JdbcSQLException: Table "VERSION" not found; SQL statement: select version from version [42102-196] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.command.Parser.readTableOrView(Parser.java:5552) at org.h2.command.Parser.readTableFilter(Parser.java:1266) at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1946) at org.h2.command.Parser.parseSelectSimple(Parser.java:2095) at org.h2.command.Parser.parseSelectSub(Parser.java:1940) at org.h2.command.Parser.parseSelectUnion(Parser.java:1755) at org.h2.command.Parser.parseSelect(Parser.java:1743) at org.h2.command.Parser.parsePrepared(Parser.java:449) at org.h2.command.Parser.parse(Parser.java:321) at org.h2.command.Parser.parse(Parser.java:293) at org.h2.command.Parser.prepareCommand(Parser.java:258) at org.h2.engine.Session.prepareLocal(Session.java:578) at org.h2.engine.Session.prepareCommand(Session.java:519) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204) at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:677) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:75) at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108) at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81) at com.sun.proxy.$Proxy36.prepareStatement(Unknown Source) at org.jdbi.v3.core.statement.DefaultStatementBuilder.create(DefaultStatementBuilder.java:57) at org.jdbi.v3.core.statement.SqlStatement.internalExecute(SqlStatement.java:1414) ... 14 more
I'm following the instructions from the wiki page and have downloaded the latest v0.7.2, extracted it to a folder and when running
mvn clean package -pl irontest-assembly -am -P prod
I'm getting the following error:
Failed to execute goal on project irontest-assembly: Could not resolve dependencies for project io.irontest:irontest-assembly:jar:0.7.2: Failed to collect dependencies at io.irontest:irontest-mq:jar:0.7.2: Failed to read artifact descriptor for io.irontest:irontest-mq:jar:0.7.2: Could not transfer artifact io.irontest:irontest-mq:pom:0.7.2 from/to irontest-mvn-repo (https://raw.github.com/zheng-wang/irontest/mvn-repo/)
If I attempt to access https://raw.github.com/zheng-wang/irontest/mvn-repo/ directyl, I get a 400: Invalid request error
Maven and JDK installed are:
mvn -version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T05:39:06+10:00)
Maven home: C:\Program Files\Apache\apache-maven-3.5.0\bin..
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_121\jre
Default locale: en_AU, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Can you please help?
Hi,
first of all, this is a very nice tooling for testing.
Currently I am trying to build a test case I have in postman, but in Iron Test. I am doing some rest calls which return a result. Then I need to wait a few minutes and after that I need to do another call, but I would need some input from previous requests.
Is is possible to save parts of the response in some property and use it in another test step?
One way I could think of would be to add a Json Path like
Regards
Daniel
In the setup section for IIB, there is a dependencies for the old jar files: "ConfigManagerProxy.jar" and "ibmjsseprovider2.jar", does irontest work with the new IntegrationAPI.jar?
mvn install:install-file -Dfile="<IIB_Home>/classes/ConfigManagerProxy.jar" -DgroupId=com.ibm -DartifactId=ConfigManagerProxy -Dversion=<IIB_Version> -Dpackaging=jar
mvn install:install-file -Dfile="<IIB_Home>/jre17/lib/ibmjsseprovider2.jar" -DgroupId=com.ibm -DartifactId=ibmjsseprovider2 -Dversion=<IIB_Version> -Dpackaging=jar
When I have many test cases that use similar test steps, it would be very helpful to be able to copy/paste them, instead of having to recreate them along with all the assertions each time. Likewise for data table rows, where I might have the same test data setup for different tests.
This is actually my highest priority feature request I think - it would save a LOT of time
while starting the server, receving java runtime exception error
INFO [2020-02-03 07:06:52,997] org.eclipse.jetty.server.Server: Started @2851ms
java.lang.RuntimeException: java.lang.NoSuchFieldException: sys_paths
at io.irontest.IronTestApplication.run(IronTestApplication.java:137)
at io.irontest.IronTestApplication.run(IronTestApplication.java:51)
at io.dropwizard.cli.EnvironmentCommand.run(EnvironmentCommand.java:43)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:93)
at io.irontest.IronTestApplication.main(IronTestApplication.java:55)
Set java path properly. What will be the issue?
If I have a property where the value contains trailing spaces (e.g. because it's a fixed-length string I'm storing), the application trims the spaces off of the end of the property, making my test invalid
When I create a test step, and set the endpoint to managed, there isn't then an option to go back to being unmanaged again; without deleting and recreating the whole test step
1). So, I've performed some Unit Testing activities(Manually) in my DEV environment successfully using Iron Test. My question is, I want to process the flows in to QA using the Continues Integration. So once I build the flows and committed, can I make the IRON TEST as a dependency before releasing it in to QA?
2). Also, Here can I perform the Unit Testing actions as automatically ?
Will be helpful if you can respond for this, with some suggestions.
Thanks.
As far as I can see from the code, there is a 30-second timeout on an IIB "Wait for Processing Completion" step.
Could this be made configurable? For example, I have a flow that can take a minute to complete; or I might want the test to fail if the flow processing takes longer than 5 seconds
Can IronTest connect to a multi-instance integration server or queue manager? The settings for the client connection seem to indicate not, as they ask for a single IP address and port. Is it possible to use a connection string with comma-separated connection details, rather than just a single address?
If I create an FTP step and put ${FILE_CONTENT} into the file content text field, the file will contain the literal string ${FILE_CONTENT}; whereas I would expect it to translate that into the property value
Hi Wang,
So, I was trying to learn more about the IRON TEST for Auto Testing purpose.
Here I have some initial queries.
1). Can't I Rename the Root Folder Name on the left
2). Can't I Delete the Test Cases or the Created Folders
3). Can you please brief me more about the start-team in the IRON TEST HOME.
* Once after running the start-team cmd.exe
* How I can give the Username and Password?(When I gave the Username and Password of
the one which give in IIB Test Case, It is popping an error-Invalid Details.)
* Actually how am I supposed to Create One?
4). What is the Main Purpose of the start-team? Was it like accessing like a repository?
If I put ${UPLOAD_PATH} in the "Remote File Path" field, it uploads to a file called ${UPLOAD_PATH}, rather than using the defined property
It would be useful to have the option for one-off "Setup" and "Teardown" steps that run before the first / after the last data-driven test case.
One use-case for this is, I have a cache that needs to be loaded before the first test case, but it doesn't need to be loaded every time.
Another use-case is cleaning up database entries that have been affected by the test cases
A third possible use-case for this is if a message needs to be sent through a flow before all of the tests start, perhaps to start something up or set a configuration
From @Shiva143153:
Hi, I'm trying to use the ( IIB step ) in which I've given the Host and rest all details in the Endpoint Details.
But when I'm trying to give the port no: 8081. Its is popping out in valid port no.
Is their anyway I can find the solution out of it.
I want to be able to add a data table entry containing the wait time in milliseconds, and then use ${WAIT_TIME} in the Wait step. This is because some tests of the same message flow with different data are expected to take longer than others, and so this would save having different test cases for different wait times.
Alternatively (or perhaps as well), it would be useful to be able to configure a step that runs just once per test, before each of the individual data table entries; and a step that runs just once afterwards. This would be used for things like initialising caches, putting the test environment back to a stable state, etc.
Currently when dequeuing a message from an MQ queue, the only assertions available are XML and JSON - there's no plaintext assertion available for checking the contents of a message that isn't in XML or JSON format
If I put comments in my sql, and the comments contain apostrophes, I then get exceptions thrown at runtime.
e.g:
-- This example shows what's wrong
INSERT INTO table (A,B,C) VALUES ('D','E','F');
In order to improve the usefulness of the tool, it would be helpful to be able to run all tests in a folder without having to open and run each individually; and then be able to see a report that covers all the tests in the folder. This view could perhaps happen when the folder name is left-clicked in the UI. That view could also show a summary of when each test was last run and whether it passed or not.
It would be helpful if an available assertion was to assert that the xml generated is valid against a specified xsd schema
[ERROR] Failed to execute goal on project irontest-assembly: Could not resolve d
ependencies for project io.irontest:irontest-assembly:jar:0.6.1: Failed to colle
ct dependencies at io.irontest:irontest-mq:jar:0.6.1: Failed to read artifact de
scriptor for io.irontest:irontest-mq:jar:0.6.1: Could not transfer artifact io.i
rontest:irontest-mq:pom:0.6.1 from/to irontest-mvn-repo (https://raw.github.com/
zheng-wang/irontest/mvn-repo/): sun.security.validator.ValidatorException: PKIX
path building failed: sun.security.provider.certpath.SunCertPathBuilderException
: unable to find valid certification path to requested target
The following steps can be taken to reproduce the error:
"File From" will now be blank. Selecting "Text" or "File" gives the following exception each time:
There was an error processing your request. It has been logged (ID 1949193b34d35b62).
Details: Missing type id when trying to resolve subtype of [simple type, class io.irontest.models.teststep.APIRequest]: missing type id property 'minClassName' (for POJO property 'apiRequest') at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 415] (through reference chain: io.irontest.models.teststep.Teststep["apiRequest"])
Some of my IIB flows use a File Input node, and therefore the ability to automate the FTP of a file as a step in a test sequence would be useful
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.