gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4

Jenkins JIRA | Joviano Dias | 1 year ago
  1. 0

    JSON Parser exception : Expected BEGIN_ARRAY but was STRING

    GitHub | 1 year ago | jovistruck
    gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4
  2. 0

    [JIRA] [cucumber-testresult-plugin] (JENKINS-28950) Cucumber Test Result Plugin Fails to parse JSON: Expected BEGIN_ARRAY but was STRING

    Google Groups | 1 year ago | jov...@gmail.com (JIRA)
    gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4
  3. 0

    Get the following exception: {noformat} ERROR: Build step failed with exception gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4 at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:806) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:734) at gherkin.JSONParser.parse(JSONParser.java:41) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ......remote call to pavslave02(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1361) at hudson.remoting.UserResponse.retrieve(UserRequest.java:221) at hudson.remoting.Channel.call(Channel.java:753) at hudson.FilePath.act(FilePath.java:980) at hudson.FilePath.act(FilePath.java:969) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl.parse(DefaultTestResultParserImpl.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultArchiver.perform(CucumberTestResultArchiver.java:112) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726) at hudson.model.Build$BuildExecution.post2(Build.java:185) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671) at hudson.model.Run.execute(Run.java:1769) at hudson.plugins.project_inheritance.projects.InheritanceBuild.run(InheritanceBuild.java:139) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:374) Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4 at gherkin.deps.com.google.gson.stream.JsonReader.expect(JsonReader.java:339) at gherkin.deps.com.google.gson.stream.JsonReader.beginArray(JsonReader.java:306) at gherkin.deps.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:79) at gherkin.deps.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:795) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:734) at gherkin.JSONParser.parse(JSONParser.java:41) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Build step 'Publish Cucumber test result report' marked build as failure {noformat} Using cucumber-reports 0.1.0 Works fine on test page, but the test page uses 0.23.0 jar {code:java} This is my JSON: [ { "line": 3, "elements": [ { "before": [ { "result": { "duration": 1211270726, "status": "passed" }, "match": { "location": "Stepdefs.start(Scenario)" } } ], "line": 5, "name": "Test concurrent voucher manager operations", "description": "", "id": "voucher-manager-performance-scenarios;test-concurrent-voucher-manager-operations", "type": "scenario", "keyword": "Scenario", "steps": [ { "result": { "duration": 99242049, "status": "passed" }, "comments": [ { "line": 6, "value": "# given" } ], "line": 7, "name": "I am authorised as admin for VM", "match": { "location": "Stepdefs.i_am_authorised_as_admin_for_VM()" }, "keyword": "Given " }, { "result": { "duration": 1794863843, "status": "passed" }, "line": 8, "name": "an active PROMO_CODE campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "PROMO_CODE", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 44 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 298285161, "status": "passed" }, "line": 9, "name": "a promo code voucher", "match": { "location": "Stepdefs.a_promo_code_voucher()" }, "keyword": "And " }, { "result": { "duration": 160331487, "status": "passed" }, "line": 10, "name": "an active GIFTING campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "GIFTING", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 41 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 81690373139, "status": "passed" }, "line": 11, "name": "a voucher batch of size 100000", "match": { "arguments": [ { "val": "100000", "offset": 24 } ], "location": "Stepdefs.a_voucher_batch_of_size(int)" }, "keyword": "And " }, { "result": { "duration": 128664303, "status": "passed" }, "line": 12, "name": "an active SINGLE_USE_NON_TRANSFERABLE campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "SINGLE_USE_NON_TRANSFERABLE", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 61 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 83125787672, "status": "passed" }, "line": 13, "name": "a non-transferable voucher batch of size 100000", "match": { "arguments": [ { "val": "100000", "offset": 41 } ], "location": "Stepdefs.a_non_transferable_voucher_batch_of_size(int)" }, "keyword": "And " }, { "result": { "duration": 14696088, "status": "passed" }, "comments": [ { "line": 15, "value": "# when" }, { "line": 16, "value": "#GIFTING" } ], "line": 17, "name": "I am authorised as platform for VM", "match": { "location": "Stepdefs.i_am_authorised_as_platform_for_VM()" }, "keyword": "And " }, { "result": { "duration": 1031428, "status": "passed" }, "line": 18, "name": "15% of requests will be to activate a gifting voucher", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_activate_a_gifting_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 653583, "status": "passed" }, "line": 19, "name": "3% of requests will be to deactivate a gifting voucher", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_deactivate_a_gifting_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 705046, "status": "passed" }, "comments": [ { "line": 21, "value": "#SUT" } ], "line": 22, "name": "15% of requests will be to check if a SUV can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_check_if_a_SUV_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 748336, "status": "passed" }, "line": 23, "name": "5% of requests will be to redeem a SUV", "match": { "arguments": [ { "val": "5", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_redeem_a_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 634265, "status": "passed" }, "line": 24, "name": "2% of requests will be to reverse a redeemed SUV", "match": { "arguments": [ { "val": "2", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_reverse_a_redeemed_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 671744, "status": "passed" }, "line": 25, "name": "1% of requests will be to cancel an active SUV", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_cancel_an_active_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 716257, "status": "passed" }, "line": 26, "name": "1% of requests will be to activate a cancelled SUV", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_activate_a_cancelled_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 706676, "status": "passed" }, "comments": [ { "line": 28, "value": "#SUNT" } ], "line": 29, "name": "15% of requests will be to check if a SUNT can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_check_if_a_SUNT_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 726885, "status": "passed" }, "line": 30, "name": "5% of requests will be to redeem a SUNT voucher", "match": { "arguments": [ { "val": "5", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_redeem_a_SUNT_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 597375, "status": "passed" }, "line": 31, "name": "3% of requests will be to reverse a redeemed SUNT", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_reverse_a_redeemed_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 635535, "status": "passed" }, "line": 32, "name": "1% of requests will be to cancel an active SUNT", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_cancel_an_active_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 628499, "status": "passed" }, "line": 33, "name": "1% of requests will be to activate a cancelled SUNT", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_activate_a_cancelled_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 789991, "status": "passed" }, "comments": [ { "line": 35, "value": "#PROMO_CODE" } ], "line": 36, "name": "15% of requests will be to check if a promo code can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_check_if_a_promo_code_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 668422, "status": "passed" }, "line": 37, "name": "15% of requests will be to redeem a promo code", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_redeem_a_promo_code(int)" }, "keyword": "And " }, { "result": { "duration": 650249, "status": "passed" }, "line": 38, "name": "3% of requests will be to reverse a redeemed promo code", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_reverse_a_redeemed_promo_code(int)" }, "keyword": "And " }, { "output": [ " ---Performance Tests scheduled from: 14:58:19 to: 15:08:19 " ], "result": { "duration": 604909326497, "status": "passed" }, "line": 40, "name": "I run streamed performance tests for 10 minutes", "match": { "arguments": [ { "val": "10", "offset": 37 } ], "location": "Stepdefs.I_run_streamed_performance_tests_for_minutes(int)" }, "keyword": "When " }, { "result": { "duration": 39298554149, "status": "passed" }, "comments": [ { "line": 42, "value": "# cleanup" } ], "line": 43, "name": "all redeemed promo codes are reversed", "match": { "location": "Stepdefs.all_redeemed_promo_codes_are_reversed()" }, "keyword": "And " }, { "output": [ " ******** Performance results *****\u003cbr\u003e---- Summary 15:09:03 ----\u003cbr\u003e\u003cbr\u003eRequest:VM-generateBatch N:1\u003cbr\u003eRequest:VM-activateGiftingVoucher N:627\u003cbr\u003eRequest:VM-reverseRedeemSUV N:91\u003cbr\u003eRequest:VM-dryRunRedeemSUNT N:649\u003cbr\u003eRequest:VM-deactivateGiftingVoucher-wait-failed N:34\u003cbr\u003eRequest:VM-reverseRedeemSUNT-wait-failed N:4\u003cbr\u003eRequest:VM-cancelActiveSUV N:28\u003cbr\u003eRequest:VM-cancelActiveSUNT N:37\u003cbr\u003eRequest:VM-reverseRedeemPromoCode N:136\u003cbr\u003eRequest:VM-activateCancelledSUV-wait-failed N:5\u003cbr\u003eRequest:VM-dryRunRedeemSUV N:469\u003cbr\u003eRequest:VM-generateNTBatch N:1\u003cbr\u003eRequest:VM-activateCancelledSUV N:27\u003cbr\u003eRequest:VM-dryRunRedeemPromoCode N:688\u003cbr\u003eRequest:VM-cancelActiveSUV-wait-failed N:13\u003cbr\u003eRequest:VM-reverseRedeemSUNT N:133\u003cbr\u003eRequest:VM-redeemSUV N:166\u003cbr\u003eRequest:VM-activateCancelledSUNT-wait-failed N:8\u003cbr\u003eRequest:VM-redeemPromoCode N:629\u003cbr\u003eRequest:VM-deactivateGiftingVoucher N:82\u003cbr\u003eRequest:VM-redeemSUV-wait-failed N:69\u003cbr\u003eRequest:VM-activateCancelledSUNT N:34\u003cbr\u003eRequest:VM-dryRunRedeemSUV-wait-failed N:178\u003cbr\u003eRequest:VM-redeemSUNT N:219\u003cbr\u003e---- Details ----\u003cbr\u003e\u003cbr\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd\u003e\u003cb\u003eRequest\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eNo of Requests\u003c/b\u003e\u003ctd\u003e\u003cb\u003eMean for 95% of Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Acceptable Mean for 95% of Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMean for all requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Acceptable Mean for all Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eRequest Failure %\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Allowed Request Failure %\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eSuccessful Requests Per Second\u003c/b\u003e\u003c/td\u003e\u003ctr\u003e\u003ctd\u003eVM-generateBatch\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e69092\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e69092\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003eNA\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateGiftingVoucher\u003c/td\u003e\u003ctd\u003e627\u003c/td\u003e\u003ctd\u003e110\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.583\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-deactivateGiftingVoucher\u003c/td\u003e\u003ctd\u003e82\u003c/td\u003e\u003ctd\u003e104\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e69\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.331\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemSUV\u003c/td\u003e\u003ctd\u003e469\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e64\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e15.437\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemSUV\u003c/td\u003e\u003ctd\u003e166\u003c/td\u003e\u003ctd\u003e111\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e72\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.862\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemSUV\u003c/td\u003e\u003ctd\u003e91\u003c/td\u003e\u003ctd\u003e108\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e65\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e15.302\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-cancelActiveSUV\u003c/td\u003e\u003ctd\u003e28\u003c/td\u003e\u003ctd\u003e115\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.572\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateCancelledSUV\u003c/td\u003e\u003ctd\u003e27\u003c/td\u003e\u003ctd\u003e219\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e79\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e12.599\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemPromoCode\u003c/td\u003e\u003ctd\u003e688\u003c/td\u003e\u003ctd\u003e107\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.075\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemPromoCode\u003c/td\u003e\u003ctd\u003e629\u003c/td\u003e\u003ctd\u003e113\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e74\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.384\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemPromoCode\u003c/td\u003e\u003ctd\u003e136\u003c/td\u003e\u003ctd\u003e111\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.581\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-generateNTBatch\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e71725\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e71725\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003eNA\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemSUNT\u003c/td\u003e\u003ctd\u003e649\u003c/td\u003e\u003ctd\u003e99\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e66\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.956\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemSUNT\u003c/td\u003e\u003ctd\u003e219\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.892\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemSUNT\u003c/td\u003e\u003ctd\u003e133\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e70\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.104\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-cancelActiveSUNT\u003c/td\u003e\u003ctd\u003e37\u003c/td\u003e\u003ctd\u003e96\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e70\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.231\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateCancelledSUNT\u003c/td\u003e\u003ctd\u003e34\u003c/td\u003e\u003ctd\u003e97\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.998\u003c/td\u003e\u003c/tr\u003e\u003ctd\u003e\u003cb\u003eTotal requests per second:\u003c/b\u003e 9.0\u003c/table\u003e ", " Total requests per second: 9.0 " ], "result": { "duration": 87254167, "status": "passed" }, "comments": [ { "line": 45, "value": "# then" } ], "line": 46, "name": "after the tests finish the results satisfy following stats", "match": { "location": "Stepdefs.after_the_tests_finish_the_results_satisfy_following_stats(ExpectedPerformance\u003e)" }, "rows": [ { "cells": [ "requestName", "percentile95th", "mean", "minimumNumberOfRequests", "maxFailurePercentage" ], "line": 47 }, { "cells": [ "VM-generateBatch", "240000", "240000", "1", "0" ], "line": 48 }, { "cells": [ "VM-activateGiftingVoucher", "400", "200", "10", "2" ], "line": 49 }, { "cells": [ "VM-deactivateGiftingVoucher", "400", "200", "5", "2" ], "line": 50 }, { "cells": [ "VM-dryRunRedeemSUV", "400", "200", "10", "2" ], "line": 51 }, { "cells": [ "VM-redeemSUV", "400", "200", "5", "2" ], "line": 52 }, { "cells": [ "VM-reverseRedeemSUV", "400", "200", "5", "2" ], "line": 53 }, { "cells": [ "VM-cancelActiveSUV", "400", "200", "5", "2" ], "line": 54 }, { "cells": [ "VM-activateCancelledSUV", "400", "200", "1", "2" ], "line": 55 }, { "cells": [ "VM-dryRunRedeemPromoCode", "400", "200", "5", "2" ], "line": 56 }, { "cells": [ "VM-redeemPromoCode", "400", "200", "10", "2" ], "line": 57 }, { "cells": [ "VM-reverseRedeemPromoCode", "400", "200", "5", "2" ], "line": 58 }, { "cells": [ "VM-generateNTBatch", "240000", "240000", "1", "0" ], "line": 59 }, { "cells": [ "VM-dryRunRedeemSUNT", "400", "200", "10", "2" ], "line": 60 }, { "cells": [ "VM-redeemSUNT", "400", "200", "5", "2" ], "line": 61 }, { "cells": [ "VM-reverseRedeemSUNT", "400", "200", "5", "2" ], "line": 62 }, { "cells": [ "VM-cancelActiveSUNT", "400", "200", "5", "2" ], "line": 63 }, { "cells": [ "VM-activateCancelledSUNT", "400", "200", "1", "2" ], "line": 64 } ], "keyword": "Then " } ] } ], "name": "Voucher manager performance scenarios", "description": "", "id": "voucher-manager-performance-scenarios", "keyword": "Feature", "uri": "features/performanceVm.feature", "tags": [ { "line": 1, "name": "@PERFORMANCE" }, { "line": 2, "name": "@PERFORMANCEVOUCHERMANAGER" } ] } ] {code}

    Jenkins JIRA | 1 year ago | Joviano Dias
    gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [JENKINS-28950] Cucumber Test Result Plugin Fails to parse JSON: Expected BEGIN_ARRAY but was STRING - Jenkins JIRA

    jenkins-ci.org | 7 months ago
    gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4
  6. 0

    Get the following exception: {noformat} ERROR: Build step failed with exception gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4 at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:806) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:734) at gherkin.JSONParser.parse(JSONParser.java:41) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ......remote call to pavslave02(Native Method) at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1361) at hudson.remoting.UserResponse.retrieve(UserRequest.java:221) at hudson.remoting.Channel.call(Channel.java:753) at hudson.FilePath.act(FilePath.java:980) at hudson.FilePath.act(FilePath.java:969) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl.parse(DefaultTestResultParserImpl.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultArchiver.perform(CucumberTestResultArchiver.java:112) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726) at hudson.model.Build$BuildExecution.post2(Build.java:185) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671) at hudson.model.Run.execute(Run.java:1769) at hudson.plugins.project_inheritance.projects.InheritanceBuild.run(InheritanceBuild.java:139) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:374) Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4 at gherkin.deps.com.google.gson.stream.JsonReader.expect(JsonReader.java:339) at gherkin.deps.com.google.gson.stream.JsonReader.beginArray(JsonReader.java:306) at gherkin.deps.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:79) at gherkin.deps.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:795) at gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:734) at gherkin.JSONParser.parse(JSONParser.java:41) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Build step 'Publish Cucumber test result report' marked build as failure {noformat} Using cucumber-reports 0.1.0 Works fine on test page, but the test page uses 0.23.0 jar {code:java} This is my JSON: [ { "line": 3, "elements": [ { "before": [ { "result": { "duration": 1211270726, "status": "passed" }, "match": { "location": "Stepdefs.start(Scenario)" } } ], "line": 5, "name": "Test concurrent voucher manager operations", "description": "", "id": "voucher-manager-performance-scenarios;test-concurrent-voucher-manager-operations", "type": "scenario", "keyword": "Scenario", "steps": [ { "result": { "duration": 99242049, "status": "passed" }, "comments": [ { "line": 6, "value": "# given" } ], "line": 7, "name": "I am authorised as admin for VM", "match": { "location": "Stepdefs.i_am_authorised_as_admin_for_VM()" }, "keyword": "Given " }, { "result": { "duration": 1794863843, "status": "passed" }, "line": 8, "name": "an active PROMO_CODE campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "PROMO_CODE", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 44 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 298285161, "status": "passed" }, "line": 9, "name": "a promo code voucher", "match": { "location": "Stepdefs.a_promo_code_voucher()" }, "keyword": "And " }, { "result": { "duration": 160331487, "status": "passed" }, "line": 10, "name": "an active GIFTING campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "GIFTING", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 41 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 81690373139, "status": "passed" }, "line": 11, "name": "a voucher batch of size 100000", "match": { "arguments": [ { "val": "100000", "offset": 24 } ], "location": "Stepdefs.a_voucher_batch_of_size(int)" }, "keyword": "And " }, { "result": { "duration": 128664303, "status": "passed" }, "line": 12, "name": "an active SINGLE_USE_NON_TRANSFERABLE campaign with offer id B_002326.P_002325.OF_002978", "match": { "arguments": [ { "val": "SINGLE_USE_NON_TRANSFERABLE", "offset": 10 }, { "val": "B_002326.P_002325.OF_002978", "offset": 61 } ], "location": "Stepdefs.createCampaignByType(String,String)" }, "keyword": "And " }, { "result": { "duration": 83125787672, "status": "passed" }, "line": 13, "name": "a non-transferable voucher batch of size 100000", "match": { "arguments": [ { "val": "100000", "offset": 41 } ], "location": "Stepdefs.a_non_transferable_voucher_batch_of_size(int)" }, "keyword": "And " }, { "result": { "duration": 14696088, "status": "passed" }, "comments": [ { "line": 15, "value": "# when" }, { "line": 16, "value": "#GIFTING" } ], "line": 17, "name": "I am authorised as platform for VM", "match": { "location": "Stepdefs.i_am_authorised_as_platform_for_VM()" }, "keyword": "And " }, { "result": { "duration": 1031428, "status": "passed" }, "line": 18, "name": "15% of requests will be to activate a gifting voucher", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_activate_a_gifting_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 653583, "status": "passed" }, "line": 19, "name": "3% of requests will be to deactivate a gifting voucher", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_deactivate_a_gifting_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 705046, "status": "passed" }, "comments": [ { "line": 21, "value": "#SUT" } ], "line": 22, "name": "15% of requests will be to check if a SUV can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_check_if_a_SUV_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 748336, "status": "passed" }, "line": 23, "name": "5% of requests will be to redeem a SUV", "match": { "arguments": [ { "val": "5", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_redeem_a_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 634265, "status": "passed" }, "line": 24, "name": "2% of requests will be to reverse a redeemed SUV", "match": { "arguments": [ { "val": "2", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_reverse_a_redeemed_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 671744, "status": "passed" }, "line": 25, "name": "1% of requests will be to cancel an active SUV", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_cancel_an_active_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 716257, "status": "passed" }, "line": 26, "name": "1% of requests will be to activate a cancelled SUV", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_activate_a_cancelled_SUV(int)" }, "keyword": "And " }, { "result": { "duration": 706676, "status": "passed" }, "comments": [ { "line": 28, "value": "#SUNT" } ], "line": 29, "name": "15% of requests will be to check if a SUNT can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_check_if_a_SUNT_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 726885, "status": "passed" }, "line": 30, "name": "5% of requests will be to redeem a SUNT voucher", "match": { "arguments": [ { "val": "5", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_redeem_a_SUNT_voucher(int)" }, "keyword": "And " }, { "result": { "duration": 597375, "status": "passed" }, "line": 31, "name": "3% of requests will be to reverse a redeemed SUNT", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_reverse_a_redeemed_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 635535, "status": "passed" }, "line": 32, "name": "1% of requests will be to cancel an active SUNT", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_cancel_an_active_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 628499, "status": "passed" }, "line": 33, "name": "1% of requests will be to activate a cancelled SUNT", "match": { "arguments": [ { "val": "1", "offset": 0 } ], "location": "Stepdefs._of_requests_will_be_to_activate_a_cancelled_SUNT(int)" }, "keyword": "And " }, { "result": { "duration": 789991, "status": "passed" }, "comments": [ { "line": 35, "value": "#PROMO_CODE" } ], "line": 36, "name": "15% of requests will be to check if a promo code can be redeemed", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_check_if_a_promo_code_can_be_redeemed(int)" }, "keyword": "And " }, { "result": { "duration": 668422, "status": "passed" }, "line": 37, "name": "15% of requests will be to redeem a promo code", "match": { "arguments": [ { "val": "15", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_redeem_a_promo_code(int)" }, "keyword": "And " }, { "result": { "duration": 650249, "status": "passed" }, "line": 38, "name": "3% of requests will be to reverse a redeemed promo code", "match": { "arguments": [ { "val": "3", "offset": 0 } ], "location": "Stepdefs.of_requests_will_be_to_reverse_a_redeemed_promo_code(int)" }, "keyword": "And " }, { "output": [ " ---Performance Tests scheduled from: 14:58:19 to: 15:08:19 " ], "result": { "duration": 604909326497, "status": "passed" }, "line": 40, "name": "I run streamed performance tests for 10 minutes", "match": { "arguments": [ { "val": "10", "offset": 37 } ], "location": "Stepdefs.I_run_streamed_performance_tests_for_minutes(int)" }, "keyword": "When " }, { "result": { "duration": 39298554149, "status": "passed" }, "comments": [ { "line": 42, "value": "# cleanup" } ], "line": 43, "name": "all redeemed promo codes are reversed", "match": { "location": "Stepdefs.all_redeemed_promo_codes_are_reversed()" }, "keyword": "And " }, { "output": [ " ******** Performance results *****\u003cbr\u003e---- Summary 15:09:03 ----\u003cbr\u003e\u003cbr\u003eRequest:VM-generateBatch N:1\u003cbr\u003eRequest:VM-activateGiftingVoucher N:627\u003cbr\u003eRequest:VM-reverseRedeemSUV N:91\u003cbr\u003eRequest:VM-dryRunRedeemSUNT N:649\u003cbr\u003eRequest:VM-deactivateGiftingVoucher-wait-failed N:34\u003cbr\u003eRequest:VM-reverseRedeemSUNT-wait-failed N:4\u003cbr\u003eRequest:VM-cancelActiveSUV N:28\u003cbr\u003eRequest:VM-cancelActiveSUNT N:37\u003cbr\u003eRequest:VM-reverseRedeemPromoCode N:136\u003cbr\u003eRequest:VM-activateCancelledSUV-wait-failed N:5\u003cbr\u003eRequest:VM-dryRunRedeemSUV N:469\u003cbr\u003eRequest:VM-generateNTBatch N:1\u003cbr\u003eRequest:VM-activateCancelledSUV N:27\u003cbr\u003eRequest:VM-dryRunRedeemPromoCode N:688\u003cbr\u003eRequest:VM-cancelActiveSUV-wait-failed N:13\u003cbr\u003eRequest:VM-reverseRedeemSUNT N:133\u003cbr\u003eRequest:VM-redeemSUV N:166\u003cbr\u003eRequest:VM-activateCancelledSUNT-wait-failed N:8\u003cbr\u003eRequest:VM-redeemPromoCode N:629\u003cbr\u003eRequest:VM-deactivateGiftingVoucher N:82\u003cbr\u003eRequest:VM-redeemSUV-wait-failed N:69\u003cbr\u003eRequest:VM-activateCancelledSUNT N:34\u003cbr\u003eRequest:VM-dryRunRedeemSUV-wait-failed N:178\u003cbr\u003eRequest:VM-redeemSUNT N:219\u003cbr\u003e---- Details ----\u003cbr\u003e\u003cbr\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd\u003e\u003cb\u003eRequest\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eNo of Requests\u003c/b\u003e\u003ctd\u003e\u003cb\u003eMean for 95% of Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Acceptable Mean for 95% of Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMean for all requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Acceptable Mean for all Requests(ms)\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eRequest Failure %\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eMax Allowed Request Failure %\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eSuccessful Requests Per Second\u003c/b\u003e\u003c/td\u003e\u003ctr\u003e\u003ctd\u003eVM-generateBatch\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e69092\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e69092\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003eNA\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateGiftingVoucher\u003c/td\u003e\u003ctd\u003e627\u003c/td\u003e\u003ctd\u003e110\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.583\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-deactivateGiftingVoucher\u003c/td\u003e\u003ctd\u003e82\u003c/td\u003e\u003ctd\u003e104\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e69\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.331\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemSUV\u003c/td\u003e\u003ctd\u003e469\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e64\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e15.437\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemSUV\u003c/td\u003e\u003ctd\u003e166\u003c/td\u003e\u003ctd\u003e111\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e72\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.862\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemSUV\u003c/td\u003e\u003ctd\u003e91\u003c/td\u003e\u003ctd\u003e108\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e65\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e15.302\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-cancelActiveSUV\u003c/td\u003e\u003ctd\u003e28\u003c/td\u003e\u003ctd\u003e115\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.572\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateCancelledSUV\u003c/td\u003e\u003ctd\u003e27\u003c/td\u003e\u003ctd\u003e219\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e79\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e12.599\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemPromoCode\u003c/td\u003e\u003ctd\u003e688\u003c/td\u003e\u003ctd\u003e107\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.075\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemPromoCode\u003c/td\u003e\u003ctd\u003e629\u003c/td\u003e\u003ctd\u003e113\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e74\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.384\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemPromoCode\u003c/td\u003e\u003ctd\u003e136\u003c/td\u003e\u003ctd\u003e111\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e73\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.581\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-generateNTBatch\u003c/td\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd\u003e71725\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e71725\u003c/td\u003e\u003ctd\u003e240000.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003eNA\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-dryRunRedeemSUNT\u003c/td\u003e\u003ctd\u003e649\u003c/td\u003e\u003ctd\u003e99\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e66\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.956\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-redeemSUNT\u003c/td\u003e\u003ctd\u003e219\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.892\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-reverseRedeemSUNT\u003c/td\u003e\u003ctd\u003e133\u003c/td\u003e\u003ctd\u003e106\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e70\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.104\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-cancelActiveSUNT\u003c/td\u003e\u003ctd\u003e37\u003c/td\u003e\u003ctd\u003e96\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e70\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e14.231\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eVM-activateCancelledSUNT\u003c/td\u003e\u003ctd\u003e34\u003c/td\u003e\u003ctd\u003e97\u003c/td\u003e\u003ctd\u003e400.0\u003c/td\u003e\u003ctd\u003e71\u003c/td\u003e\u003ctd\u003e200.0\u003c/td\u003e\u003ctd\u003e0.0\u003c/td\u003e\u003ctd\u003e2.0\u003c/td\u003e\u003ctd\u003e13.998\u003c/td\u003e\u003c/tr\u003e\u003ctd\u003e\u003cb\u003eTotal requests per second:\u003c/b\u003e 9.0\u003c/table\u003e ", " Total requests per second: 9.0 " ], "result": { "duration": 87254167, "status": "passed" }, "comments": [ { "line": 45, "value": "# then" } ], "line": 46, "name": "after the tests finish the results satisfy following stats", "match": { "location": "Stepdefs.after_the_tests_finish_the_results_satisfy_following_stats(ExpectedPerformance\u003e)" }, "rows": [ { "cells": [ "requestName", "percentile95th", "mean", "minimumNumberOfRequests", "maxFailurePercentage" ], "line": 47 }, { "cells": [ "VM-generateBatch", "240000", "240000", "1", "0" ], "line": 48 }, { "cells": [ "VM-activateGiftingVoucher", "400", "200", "10", "2" ], "line": 49 }, { "cells": [ "VM-deactivateGiftingVoucher", "400", "200", "5", "2" ], "line": 50 }, { "cells": [ "VM-dryRunRedeemSUV", "400", "200", "10", "2" ], "line": 51 }, { "cells": [ "VM-redeemSUV", "400", "200", "5", "2" ], "line": 52 }, { "cells": [ "VM-reverseRedeemSUV", "400", "200", "5", "2" ], "line": 53 }, { "cells": [ "VM-cancelActiveSUV", "400", "200", "5", "2" ], "line": 54 }, { "cells": [ "VM-activateCancelledSUV", "400", "200", "1", "2" ], "line": 55 }, { "cells": [ "VM-dryRunRedeemPromoCode", "400", "200", "5", "2" ], "line": 56 }, { "cells": [ "VM-redeemPromoCode", "400", "200", "10", "2" ], "line": 57 }, { "cells": [ "VM-reverseRedeemPromoCode", "400", "200", "5", "2" ], "line": 58 }, { "cells": [ "VM-generateNTBatch", "240000", "240000", "1", "0" ], "line": 59 }, { "cells": [ "VM-dryRunRedeemSUNT", "400", "200", "10", "2" ], "line": 60 }, { "cells": [ "VM-redeemSUNT", "400", "200", "5", "2" ], "line": 61 }, { "cells": [ "VM-reverseRedeemSUNT", "400", "200", "5", "2" ], "line": 62 }, { "cells": [ "VM-cancelActiveSUNT", "400", "200", "5", "2" ], "line": 63 }, { "cells": [ "VM-activateCancelledSUNT", "400", "200", "1", "2" ], "line": 64 } ], "keyword": "Then " } ] } ], "name": "Voucher manager performance scenarios", "description": "", "id": "voucher-manager-performance-scenarios", "keyword": "Feature", "uri": "features/performanceVm.feature", "tags": [ { "line": 1, "name": "@PERFORMANCE" }, { "line": 2, "name": "@PERFORMANCEVOUCHERMANAGER" } ] } ] {code}

    Jenkins JIRA | 1 year ago | Joviano Dias
    gherkin.deps.com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. gherkin.deps.com.google.gson.JsonSyntaxException

      java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4

      at gherkin.deps.com.google.gson.Gson.fromJson()
    2. Gherkin
      JSONParser.parse
      1. gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:806)
      2. gherkin.deps.com.google.gson.Gson.fromJson(Gson.java:734)
      3. gherkin.JSONParser.parse(JSONParser.java:41)
      3 frames
    3. org.jenkinsci.plugins
      DefaultTestResultParserImpl$ParseResultCallable.invoke
      1. org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77)
      2. org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43)
      3. org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159)
      4. org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105)
      4 frames
    4. Hudson
      FilePath$FileCallableWrapper.call
      1. hudson.FilePath$FileCallableWrapper.call(FilePath.java:2691)
      1 frame
    5. Hudson :: Remoting Layer
      InterceptingExecutorService$1.call
      1. hudson.remoting.UserRequest.perform(UserRequest.java:118)
      2. hudson.remoting.UserRequest.perform(UserRequest.java:48)
      3. hudson.remoting.Request$2.run(Request.java:326)
      4. hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      4 frames
    6. Java RT
      Thread.run
      1. java.util.concurrent.FutureTask.run(FutureTask.java:266)
      2. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      3. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      4. java.lang.Thread.run(Thread.java:745)
      4 frames