Git Product home page Git Product logo

irontest's Introduction

โš ๏ธ No more development here. Project has been migrated to https://github.com/apitestbase/apitestbase-release.

Iron Test

Iron Test is an open source tool for integration testing a variety of APIs. It is suitable for Integration, ESB, Microservices and SOA testing.

Supported API types

  • HTTP
  • SOAP
  • Relational databases (Oracle, SQL Server, H2)
  • JMS (Solace)
  • FTP(S)
  • AMQP
  • MQTT
  • IBM MQ
  • IBM Integration Bus (IIB)

The tool

  • has GUI, saving user programming skills. Developers also have better experience using GUIed tool, as writing, reading and maintaining code are more brain power draining.
  • intends to provide a platform enabling integrating testing capabilities for all types of APIs.
  • provides advanced features like unlimited level folder structure for test case management, centralized and environment based endpoints management, user defined properties, data driven testing, HTTP stubs (mock services), full-text test case searching (TBD), and built-in (no VCS) team collaboration (partially done).
  • is designed for testers and developers, but in the same team/organization BAs or architects may also benefit from it. The thought here is that API test cases contain valuable business knowledge, and this knowledge should be shared and easily accessible and consumable to everyone in the team/organization.
  • does not support performance testing (for now).

irontest's People

Contributors

chuanfengli avatar datafile4 avatar zheng-wang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

irontest's Issues

Starting/Stopping an IIB9 message flow

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?

Change IIB Endpoint Type after selecting a managed endpoint

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.

FTP File Text doesn't use properties

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

Java Exception error.

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?

Stop or Start a whole IIB application or Integration Server [feature-request]

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.

Copying a test case with an FTP test step with text in produces an error

The following steps can be taken to reproduce the error:

  1. Create a new Test Case
  2. Create an FTP Test Step
  3. Action -> File From -> Text
  4. Enter some text into the text box
  5. Copy the Test Case, and Paste it
  6. Go to the FTP Test Step in the copied Test Case

"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"])

Property values are trimmed

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

Common setup/teardown for data driven test case

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

Grep parts of result as input for other test steps

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 $.id and save it in ${Step1_Result} and use ${Step1_Result} in the other test step.

Regards

Daniel

How can I use IRON TEST as Auto-Testing.

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.

Invalid port number

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.

Could not resolve dependencies for mq 7.5.0.2 and iib 9.0.0.5

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

IIB10 support

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

Run all tests in a folder

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.

question about IIB implementation

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

Copy and Paste Test Steps, Properties and Data Table Rows

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

Changing from managed endpoint to unmanaged

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

Upgrading from 0.13 to 0.14

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"]}]

Queries

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?

Error during the build

[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

Artifact error

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?

H2 Database error when trying to launch

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

Add a custom timeout to IIB "Wait for Processing Completion" step

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

Allow Wait Time to be configurable with data table items

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.

(S)FTP a file [feature-request]

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.