Giter Site home page Giter Site logo

authorjapps / zerocode-hello-world Goto Github PK

View Code? Open in Web Editor NEW
18.0 7.0 37.0 907 KB

Zerocode YAML and JSON based declarative steps hello world rest api testing example - soap, database

Home Page: https://github.com/authorjapps/zerocode

License: MIT License

Java 100.00%
declarative json rest-api java rest api dsl testing framework hello

zerocode-hello-world's Introduction

Zerocode Hello World

Sample API testing code using JUnit and Zerocode test framework

The simple and convinient way of testing your APIs

hello_gif


Maven and CI ๐Ÿ”จ

Continuous Integration: Build Status

This HelloWorld project can be setup via POM as well as Gradle.

For Gradle setup, please see the README-GRADLE.md file

Maven library-

<dependency>
    <groupId>org.jsmart</groupId>
    <artifactId>zerocode-tdd</artifactId>
    <version>1.3.x</version>
</dependency>

How to run the examples?

Ans: The same and usual stuff you do everyday for any maven project.

Step-1:

  • Import this maven project zerocode-hello-world using Eclipse or IntelliJ or your favourite IDE
          * i.e. /zerocode-hello-world/pom.xml, 
          * mvn clean install -DskipTests
          * The above command brings all the libs to the local .m2 repo

Step-2:

  • Run the JustHelloWorldTest.java test (it invokes GitHub REST https apis and asserts the result)
          * i.e. src/test/java/org/jsmart/zerocode/testhelp/tests/helloworld/JustHelloWorldTest.java
          * Then, you can fiddle with the assertions/verify section and run the test again, 
            observe the PASS/FAILURES at the console.
          
          * To run more tests go to individual package and run. e.g. folders-  helloworldgithub, helloworldmore etc

Done. That's it. It is as simple as that.


See more(optional) below what happens when test run is completed.

Sample test run log below for reference-

Quick look at the test case and its run log below-

  • JUnit Test case-
@TargetEnv("github_host.properties")
@RunWith(ZeroCodeUnitRunner.class)
public class JustHelloWorldTest {

    @Test
    @Scenario("helloworld/hello_world_status_ok_assertions.json")
    public void testGet() throws Exception {
    
    }

}
  • Test case JSON content of "helloworld/hello_world_status_ok_assertions.json"
{
    "scenarioName": "Invoke GitHub RESTful GET api and assert the response",
    "steps": [
        {
            "name": "get_user_details",
            "url": "/users/siddhagalaxy",
            "method": "GET",
            "request": {
            },
            "verify": {
                "status": 200,
                "body": {
                    "login" : "siddhagalaxy",
                    "id" : 33847730,
                    "type" : "User"
                }
            }
        }
    ]
}
  • github_host.properties contains-
# Web Server host and port
restful.application.endpoint.host=https://api.github.com
restful.application.endpoint.port=443

# Web Service context; Leave it blank in case you do not have a common context
restful.application.endpoint.context=
  • Output i.e. the actual Response and expected Response -
2018-04-10 21:47:33,748 [main] INFO o.j.z.c.r.ZeroCodeMultiStepsScenarioRunnerImpl - 
------ BDD: Scenario:Invoke GitHub RESTful GET api and assert the response -----

2018-04-10 21:47:34,700 [main] INFO org.jsmart.zerocode.core.runner.StepNotificationHandler - 
***Step PASSED:
GIVEN- the GitHub REST end point, WHEN- I invoke GET, THEN- I will receive the 200 status with body
->get_user_details

--------- TEST-STEP-CORRELATION-ID: 0b27d9e4-d3ff-46c8-9b10-53fa0f153a33 ---------
requestTimeStamp:2018-04-10T21:47:33.768
step:get_user_details
url:https://api.github.com:443/users/siddhagalaxy
method:GET
request:
{ } 
--------- TEST-STEP-CORRELATION-ID: 0b27d9e4-d3ff-46c8-9b10-53fa0f153a33 ---------
Response:
{
  "status" : 200,
  "headers" : {
    "Server" : [ [ "GitHub.com" ] ],
    "Content-Type" : [ [ "application/json; charset=utf-8" ] ],
    "ETag" : [ [ "W/\"638280d346aa3b795c938e1635ac65a9\"" ] ],
    "Cache-Control" : [ [ "public, max-age=60, s-maxage=60" ] ],
    "X-Runtime-rack" : [ [ "0.072247" ] ],
    "Status" : [ [ "200 OK" ] ]
  },
  "body" : {
    "login" : "siddhagalaxy",
    "id" : 33847730,
    "avatar_url" : "https://avatars0.githubusercontent.com/u/33847730?v=4",
    "gravatar_id" : "",
    "url" : "https://api.github.com/users/siddhagalaxy",
    "html_url" : "https://github.com/siddhagalaxy",
    "type" : "User",
    "created_at" : "2017-11-20T22:13:14Z",
    "updated_at" : "2018-03-26T19:57:08Z"
  }
}
*responseTimeStamp:2018-04-10T21:47:34.692 
*Response delay:924.0 milli-secs 
---------> Assertion: <----------
{
  "status" : 200,
  "body" : {
    "login" : "siddhagalaxy",
    "id" : 33847730,
    "type" : "User"
  }
} 
-done-

**FINISHED executing all Steps for [Invoke GitHub RESTful GET api and assert the response] **.
Steps were:[get_user_details]

So what happens when your tests grows to thousands in numbers? You then, need to organize them by feature, by consumer and/or by profile etc. Hence Zerocode helps here to maintain peace!

Also it saves you from creating hundreds of java Pojos with getters/setters, creating their builders and getting lost in visualizing or interpreting in mind how the actual request/response could look like. This hassle one has to face everytime you run the tests or encounter a test failure or during a bug/scenario analysis.

Running Local Mock Server(for other Hello World tests)

Step-3: (Optional Step to bring up local REST server and fiddle with the tests)

Start the Local Mock REST server
          * i.e. just Run as main() -> test/.../RunMeFirstLocalMockRESTServer.java. 
          * Then you can run the src/test/java/org/jsmart/zerocode/testhelp/tests/helloworldmore/JustHelloWorldMoreTest.java

Run as Suite:

          * src/test/java/org/jsmart/zerocode/testhelp/tests/HelloWorldGitHubSuite.java

More examples:
          * src/test/java/org/jsmart/zerocode/testhelp/tests/helloworldmore/JustHelloWorldMoreTest.java
          * -or- Browse under test/resources/ folders- helloworld, helloworld_github_REST_api, helloworld_more

Done.

Now you can see the-

  • Reports @ target
  • Logs @ target/logs/zerocode_test_logs.log
  • Test coverage CSV Report @ target/zerocode_full_report_YYYY-MM-DDTHH-MM-SS.SSS.csv
  • Test coverage Chart @ target/zerocode_results_chart_YYYY-MM-DDTHH-MM-SS.SSS.html
  • More reports

References:

Eclipse(General key-board shotcuts):

For quick reference only- See more eclipse keys https://www.linkedin.com/pulse/top-30-eclipse-keyboard-shortcuts-java-programmer-jayveersinh-solanki/

  1. Open a matching java file -> Ctrl + Shift + R
  2. Open a matching JSON file -> Ctrl + Shift + R
  3. To navigate to file -> Ctrl + Click
  4. Clik a JSON file and navigate to it's JUnit Test -> Alt+Cmd+G(Mac: โŒฅ+โŒ˜+G), Windows(Alt+Ctrl+G)

IntelliJ(General key-board shotcuts):

More keys: https://www.jetbrains.com/help/idea/mastering-intellij-idea-keyboard-shortcuts.html

  1. Open a matching java file -> Ctrl + n
  2. Open a matching JSON or XML file -> Ctrl + Shift + n
  3. To navigate to file -> Ctrl + Click
  4. Usage/invocation of a JSON file or Java File or Java method/variable etc -> Alt + F7

zerocode-hello-world's People

Contributors

ankitshubham97 avatar arkadiusz-bok avatar authorjapps avatar dinesh76in avatar nirmalchandra avatar officiallysameer avatar santhoshtpixler avatar shilpa-perera avatar siddhagalaxy avatar sparrowv avatar

Stargazers

 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

zerocode-hello-world's Issues

Classnotfound exception

Hi team,

I am facing issue while running a hello world test case..

`10:13:16,764 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
10:13:16,780 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@a097cc - Registering current configuration as safe fallback point

2019-07-29 10:13:16,951 [main] INFO org.jsmart.zerocode.core.utils.RunnerUtils - ### testClass : class com.group.qa.unittest.hopewiser

java.lang.NoClassDefFoundError: com/aventstack/extentreports/ExtentReports

at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:688)
at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:380)
at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:164)
at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:613)
at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:569)`

Gradle 8.*.* Support

Hey guys,
are you planning to add more modern Gradle support,
as 4.10.* is a bit outdated?

At least 8..

Regards

"Load testing- Git Hub GET API" fails.

Test case "Load testing- Git Hub GET API" in class TestGitGubEndPoint fails because of changes in GitHub API. I will create pull request soon.

*Response delay:257.0 milli-secs 
---------> Expected Response: <----------
Assumed Payload: 
{
  "status" : 200,
  "body" : {
    "login" : "octocat",
    "id" : 583231,
    "avatar_url" : "https://avatars3.githubusercontent.com/u/583231?v=4",
    "type" : "User",
    "name" : "The Octocat",
    "company" : "GitHub"
  }
}
Assertion Errors: 
Assertion jsonPath '$.body.avatar_url' with actual value 'https://avatars.githubusercontent.com/u/583231?v=4' did not match the expected value 'https://avatars3.githubusercontent.com/u/583231?v=4'
Assertion jsonPath '$.body.company' with actual value '@github' did not match the expected value 'GitHub'
 
 
-done-

Passing access token received from previous call to my GET request

Hi,

I was exploring zerocode framework and found very easy automating rest api tests.

I having a scenario where i need to pass accesstoken received from previous call to my GET request. This GET request takes token as x-col-jwt key in header. When i am using it i am not able to authenticate the request and it gjve me 401.

Its working fine in postman and custom java code.

Please help me to resolve this

Thanks

Get Outlook for Android

Gremlin query - Apache TinkerPop - HelloWorld execution example

@mailtoach79 to put an example i.e. a Step executing gremlin query.
Either via a string body or via $PATH:<path_to_file>

This is already supported by the framework. ๐Ÿ‘

But if a specialized place-holder needed like below-
e.g. $GREMLIN.QUERY.FILE:<path to file>, then it has to be created.
(Please raise an issue for this if needed)

Mr Uma has to suggest !

The final example will look like below-

{
    "scenarioName": "Gremlin HelloWorld query",
    "steps": [
        {
            "name": "execute_gremlin",
            "url": "/tinkerpop/gremlin",
            "operation": "POST",
            "request": "g.V().hasLabel('airport').groupCount().by('country')",
            "assertions": {
                   //query response for select country,count(country) from airports group by country;
            }
        }

    ]
}

Running ./gradlew clean build is throwing build exception

Note: You could face the error: "Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain". This got removed only after applying the hack mentioned in #17 .
On running gradlew clean build, it throws the following error.

Ankits-MacBook-Air:zerocode-hello-world-fork ankitshubham$ ./gradlew clean build

> Task :compileJava FAILED
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/testhelp/localserver/RunMeFirstLocalMockRESTServer.java:3: error: package org.jsmart.simulator.annotations does not exist
import org.jsmart.simulator.annotations.ApiRepo;
                                       ^
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/testhelp/localserver/RunMeFirstLocalMockRESTServer.java:4: error: package org.jsmart.simulator.impl does not exist
import org.jsmart.simulator.impl.JsonBasedSimulator;
                                ^
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/testhelp/localserver/RunMeFirstLocalMockRESTServer.java:15: error: cannot find symbol
public class RunMeFirstLocalMockRESTServer extends JsonBasedSimulator {
                                                   ^
  symbol: class JsonBasedSimulator
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/testhelp/localserver/RunMeFirstLocalMockRESTServer.java:14: error: cannot find symbol
@ApiRepo("localhost_stubs")
 ^
  symbol: class ApiRepo
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/testhelp/localserver/RunMeFirstLocalMockRESTServer.java:27: error: cannot find symbol
        new RunMeFirstLocalMockRESTServer(PORT).start();
                                               ^
  symbol:   method start()
  location: class RunMeFirstLocalMockRESTServer
/Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/zerocodejavaexec/httpclient/CustomHttpClient.java:67: error: method does not override or implement a method from a supertype
    @Override
    ^
Note: /Users/ankitshubham/workspace/zerocode/zerocode-hello-world-fork/src/main/java/org/jsmart/zerocode/zerocodejavaexec/httpclient/CustomHttpClient.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
6 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
2 actionable tasks: 1 executed, 1 up-to-date

It seems like the build.gradle lacks the required dependencies.

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

I git cloned the repo:

git clone https://github.com/authorjapps/zerocode-hello-world.git

I cd into zerocode-hello-world:

cd zerocode-hello-world/

I did a clean build:

./gradlew clean build

It threw following error:

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

On googling, I found this StackOverflow link: https://stackoverflow.com/a/44782145/5657783. I tried the following based on the answer and then it worked:

Ankits-MacBook-Air:zerocode-hello-world-fork ankitshubham$ gradle wrapper

BUILD SUCCESSFUL in 857ms
1 actionable task: 1 executed
Ankits-MacBook-Air:zerocode-hello-world-fork ankitshubham$ git reset --hard
HEAD is now at bf6f651 Merge pull request #15 from authorjapps/ISS-229
Ankits-MacBook-Air:zerocode-hello-world-fork ankitshubham$ ./gradlew clean build

How to fix this? Or should we put something on this line in the README?

[Urgent]Getting java.lang.ExceptionInInitializerError when executing in Mac. Can someone help?

Hi,

I am getting java.lang.ExceptionInInitializerError when executing tests. And this is caused by _java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @6477463f.

Can you please advise on this?

com.google.common.util.concurrent.ExecutionError: java.lang.ExceptionInInitializerError

at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2216)
at com.google.common.cache.LocalCache.get(LocalCache.java:4147)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4151)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5140)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5146)
at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:547)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:890)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:46)
at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:50)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:134)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.getMainModuleInjector(ZeroCodeUnitRunner.java:162)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.getInjectedSmartUtilsClass(ZeroCodeUnitRunner.java:201)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.<init>(ZeroCodeUnitRunner.java:80)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

Caused by: java.lang.ExceptionInInitializerError
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.(FastClassEmitter.java:67)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:72)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:64)
at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204)
at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:54)
at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3708)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2416)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2299)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2212)
... 38 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @6477463f
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
at com.google.inject.internal.cglib.core.$ReflectUtils$2.run(ReflectUtils.java:56)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at com.google.inject.internal.cglib.core.$ReflectUtils.(ReflectUtils.java:46)
... 55 more

Json Test Cases are getting exceuted when try to run integration from a separate application

  1. Application-1 ( Source to be tested) is running in localhost:8080
  2. Application-2 ( Test application which contains all JSON test cases of application -1) is running on localhost 8085.

I have given the target env in properties file for app-2. I have custom API like /excuetetest and trying to call all test methods on hitting this API endpoint. in this case i am not able to excuete any of test cases. Help me in this scenario.

this APP-2 will be stared using command java -jar application.jar and doesnt have mvn in the ec2 instance.

suggest me a way to run the json test cases from APP-2 which hits endpoints of APP-1 without doing mvn clean install

Unable to parameterized filename - Performance Testing

Description :
In order to execute performance tests, json has to be sent in the body request.
There are more than 1000 json files that has to be used in the performance testing.
Each file contains different data. File name consists of <<uuid-client.json>> format

We created custom java function that will scan the directory for list of files and parse the uuid so that it can be used in the testing scenario

Challenge:
Zerocode step does not allow parameterization of file names
For example, in below request, 40000000000000000123456789ABCDEF cannot be parameterize

Benefits:
Adding this feature will allow execution of performance test using zerocode framework for the given scenario

Sample Steps:

  • name: get_geid
    url: ListFilesExecutor
    operation: getListOfGeid
    assertions:
    geid: $IS.NOTNULL
    body: $IS.NOTNULL

  • name: post_endpoint
    url: /client
    method: POST
    request:
    headers:
    uuid: ${$.get_geid.response.geid}
    body: ${JSON.FILE:reusableContent/request/40000000000000000123456789ABCDEF-client.json} //Unable to parameterize this step
    verify:
    status: 200

Upgrade zerocode version to latest 1.3.43

Zerocode version needed to be upgrded to the latest version.

Latest:

<zerocode-tdd.version>1.3.43</zerocode-tdd.version>

Current(very old):

<zerocode-tdd.version>1.3.23</zerocode-tdd.version>

Implicit Wait for API request.

Hi Team,

I need to test a few API's which may take time for response, So there is no specific response time for those API can we add some implicit wait time in our Zerocode where we will define some max response time for API's and whenever we will get a response we will move to the next step.

SSlContextBuilder has been deprecated

I am getting a warning that Apache conn SSL ContextBUilder has been deprecated.

Can we update code to remove deprecated dependancy and use latest code from apache.

image

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.