在做OCPP1.6J认证测试的时候,往往又很多细节是考虑不到的。而且现在测试用例的文档都改成线上阅读,细节上也不像之前的pdf那样会详细说明,所以,OCTT的测试日志就能够很好地作为测试和修改程序的参考。
首先,要先阅读测试用例的说明,简单看一遍:

大致流程就是在发送的远程启动命令RemoteStartTransaction中,夹带chargingProfilePurpose为TxProfile的chargingProfile,充电桩需要实现这个chargingProfile。下面就是这个测试的日志文件,对比上面的测试用例说明,基本就能完成此测试用例的修改和测试:
Test Case Name : TC_059_CS
Test Case Description : Remote Start Transaction with Charging Profile
Test Start Time : XX-XX-XXXX XX:XX:XX
Test End Time : XX-XX-XXXX XX:XX:XX
System Under Test (SUT) : CS
Communication Medium : WEBSOCKET
OCPP Version : OCPP 1.6
OCTT Instance : XXXXXXXXXXXXXXXXXXXXX
Build Number : Release_2025-07
Configuration : octt(XXXXXXXXXXXXXXXXXXXXXXXXXXX)
Certification Profile : [Smart Charging]
PICS : pics_import_XXXXXXXXXXXXXXXXXXX.opi (XXXXXXXXXXXXXXXXXXXXX), imported XX-XX-XXXX XX:XX:XX .XXXXXXS
----------------------------------------------------------------------------------------------------------
[00:15:15.441] [started_testcase] SmartCharging_CS - TC_059_CS-Remote Start Transaction with Charging Profile
[00:15:15.443] [info] The value of 'Reset CS before testcase' is true
[00:15:15.443] [info] ============================ Starting Restore Procedure ============================
[00:15:15.444] [REQUEST]
[00:15:15.444] [msg-out] [2, "817ce60d-f3c6-41db-b306-5d1fe86c22f9", "ChangeConfiguration", {"key":"MeterValueSampleInterval","value":"0"}]
[00:15:15.444] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:15.898] [RESPONSE]
[00:15:15.898] [msg-in] [3, "817ce60d-f3c6-41db-b306-5d1fe86c22f9", {"status":"Accepted"}]
[00:15:15.905] [info] Received response message of the expected type.
[00:15:15.906] [REQUEST]
[00:15:15.906] [msg-out] [2, "12b28a0b-eb1e-419a-a672-dc9172e6a72a", "ChangeConfiguration", {"key":"ClockAlignedDataInterval","value":"0"}]
[00:15:15.907] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:16.287] [RESPONSE]
[00:15:16.287] [msg-in] [3, "12b28a0b-eb1e-419a-a672-dc9172e6a72a", {"status":"Accepted"}]
[00:15:16.293] [info] Received response message of the expected type.
[00:15:16.293] [REQUEST]
[00:15:16.293] [msg-out] [2, "1d028910-1a35-4e0b-994f-c60217993773", "ChangeConfiguration", {"key":"LocalPreAuthorize","value":"false"}]
[00:15:16.293] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:16.650] [RESPONSE]
[00:15:16.650] [msg-in] [3, "1d028910-1a35-4e0b-994f-c60217993773", {"status":"Accepted"}]
[00:15:16.653] [info] Received response message of the expected type.
[00:15:16.654] [REQUEST]
[00:15:16.654] [msg-out] [2, "33ab268f-bcdf-4726-9a50-964344266ca5", "ChangeConfiguration", {"key":"MinimumStatusDuration","value":"0"}]
[00:15:16.654] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:17.498] [RESPONSE]
[00:15:17.498] [msg-in] [3, "33ab268f-bcdf-4726-9a50-964344266ca5", {"status":"Accepted"}]
[00:15:17.516] [info] Received response message of the expected type.
[00:15:17.516] [REQUEST]
[00:15:17.516] [msg-out] [2, "cc98063c-bd68-40bc-8505-f11929bf6eca", "ChangeAvailability", {"connectorId":0,"type":"Operative"}]
[00:15:17.517] [info] Waiting for response message of type ChangeAvailabilityResponse
[00:15:18.421] [RESPONSE]
[00:15:18.421] [msg-in] [3, "cc98063c-bd68-40bc-8505-f11929bf6eca", {"status":"Accepted"}]
[00:15:18.425] [info] Received response message of the expected type.
[00:15:18.425] [REQUEST]
[00:15:18.425] [msg-out] [2, "eaad3920-b9d0-4120-bbd7-aa7d94791975", "GetConfiguration", {"key":["AuthorizationCacheEnabled"]}]
[00:15:18.426] [info] Waiting for response message of type GetConfigurationResponse
[00:15:18.787] [RESPONSE]
[00:15:18.787] [msg-in] [3, "eaad3920-b9d0-4120-bbd7-aa7d94791975", {"configurationKey":[{"key":"AuthorizationCacheEnabled","readonly":false,"value":"false"}],"unknownKey":[]}]
[00:15:18.806] [info] Received response message of the expected type.
[00:15:18.807] [REQUEST]
[00:15:18.807] [msg-out] [2, "ce3cb04d-b142-4deb-a908-95caeea89201", "ChangeConfiguration", {"key":"AuthorizationCacheEnabled","value":"true"}]
[00:15:18.808] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:19.172] [RESPONSE]
[00:15:19.172] [msg-in] [3, "ce3cb04d-b142-4deb-a908-95caeea89201", {"status":"Accepted"}]
[00:15:19.190] [info] Received response message of the expected type.
[00:15:19.190] [REQUEST]
[00:15:19.190] [msg-out] [2, "99858fce-9624-42a9-9497-8e7f21303aa8", "ClearCache", {}]
[00:15:19.190] [info] Waiting for response message of type ClearCacheResponse
[00:15:19.597] [RESPONSE]
[00:15:19.597] [msg-in] [3, "99858fce-9624-42a9-9497-8e7f21303aa8", {"status":"Accepted"}]
[00:15:19.611] [info] Received response message of the expected type.
[00:15:19.611] [REQUEST]
[00:15:19.611] [msg-out] [2, "d8435b94-e5f4-4617-8b91-35ce2aae30b3", "ChangeConfiguration", {"key":"AuthorizationCacheEnabled","value":"false"}]
[00:15:19.612] [info] Waiting for response message of type ChangeConfigurationResponse
[00:15:19.983] [RESPONSE]
[00:15:19.983] [msg-in] [3, "d8435b94-e5f4-4617-8b91-35ce2aae30b3", {"status":"Accepted"}]
[00:15:19.991] [info] Received response message of the expected type.
[00:15:19.992] [REQUEST]
[00:15:19.992] [msg-out] [2, "799adae1-2285-456f-841f-5df7d5ac397a", "SendLocalList", {"listVersion":1,"updateType":"Full"}]
[00:15:19.992] [info] Waiting for response message of type SendLocalListResponse
[00:15:20.387] [RESPONSE]
[00:15:20.387] [msg-in] [3, "799adae1-2285-456f-841f-5df7d5ac397a", {"status":"Accepted"}]
[00:15:20.392] [info] Received response message of the expected type.
[00:15:20.392] [info] Cancelling last made reservations...
[00:15:20.392] [REQUEST]
[00:15:20.392] [msg-out] [2, "39b1d349-7fec-40be-9269-70d3b886952c", "ClearChargingProfile", {}]
[00:15:20.392] [info] Waiting for response message of type ClearChargingProfileResponse
[00:15:20.770] [RESPONSE]
[00:15:20.770] [msg-in] [3, "39b1d349-7fec-40be-9269-70d3b886952c", {"status":"Unknown"}]
[00:15:20.772] [info] Received response message of the expected type.
[00:15:20.772] [info] Start clearing internal states.
[00:15:20.772] [info] ========================= Starting Testcase Preparation ==========================
[00:15:20.773] [REQUEST]
[00:15:20.773] [msg-out] [2, "8d0bbd9f-94e7-481f-8e67-6b686bae56df", "GetConfiguration", {"key":["SupportedFeatureProfiles"]}]
[00:15:20.774] [info] Waiting for response message of type GetConfigurationResponse
[00:15:21.113] [RESPONSE]
[00:15:21.113] [msg-in] [3, "8d0bbd9f-94e7-481f-8e67-6b686bae56df", {"configurationKey":[{"key":"SupportedFeatureProfiles","readonly":true,"value":"Core,FirmwareManagement,LocalAuthListManagement,Reservation,SmartCharging,RemoteTrigger"}],"unknownKey":[]}]
[00:15:21.121] [info] Received response message of the expected type.
[00:15:21.121] [info] ========================== Starting Main Testcase Steps ==========================
[00:15:21.122] [info] Entering state Charging
[00:15:21.125] [REQUEST]
[00:15:21.125] [msg-out] [2, "dd11ddf5-afad-422c-9436-e59946214f9f", "GetConfiguration", {"key":["AuthorizeRemoteTxRequests"]}]
[00:15:21.126] [info] Waiting for response message of type GetConfigurationResponse
[00:15:21.478] [RESPONSE]
[00:15:21.478] [msg-in] [3, "dd11ddf5-afad-422c-9436-e59946214f9f", {"configurationKey":[{"key":"AuthorizeRemoteTxRequests","readonly":false,"value":"true"}],"unknownKey":[]}]
[00:15:21.486] [info] Received response message of the expected type.
[00:15:21.487] [REQUEST]
[00:15:21.487] [msg-out] [2, "82578cd6-5147-49ae-8d1e-99005a956345", "RemoteStartTransaction", {"connectorId":1,"idTag":"1441467211","chargingProfile":{"chargingProfileId":62,"stackLevel":0,"chargingProfilePurpose":"TxProfile","chargingProfileKind":"Absolute","validFrom":"2025-08-05T00:15:17Z","validTo":"2025-08-05T00:20:25Z","chargingSchedule":{"duration":304,"startSchedule":"2025-08-05T00:15:17Z","chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":6.000000,"numberPhases":3}]}}}]
[00:15:21.488] [info] Waiting for response message of type RemoteStartTransactionResponse
[00:15:21.911] [RESPONSE]
[00:15:21.911] [msg-in] [3, "82578cd6-5147-49ae-8d1e-99005a956345", {"status":"Accepted"}]
[00:15:21.927] [info] Received response message of the expected type.
[00:15:21.927] [info] Waiting for request messages of type AuthorizeRequest and StatusNotificationRequest. Not all message types are mandatory, as some are optional. Please refer to the testcase document to see which ones are mandatory.
[00:15:22.857] [REQUEST]
[00:15:22.857] [msg-in] [2, "1652864281", "Authorize", {"idTag":"1441467211"}]
[00:15:22.872] [RESPONSE]
[00:15:22.872] [msg-out] [3, "1652864281", {"idTagInfo":{"status":"Accepted"}}]
[00:15:22.873] [info] Waiting for request message of type StatusNotificationRequest
[00:15:24.502] [REQUEST]
[00:15:24.502] [msg-in] [2, "1652864282", "StatusNotification", {"connectorId":1,"errorCode":"NoError","status":"Preparing","timestamp":"2025-08-05T00:15:24Z"}]
[00:15:24.519] [RESPONSE]
[00:15:24.519] [msg-out] [3, "1652864282", {}]
[00:15:24.520] [prompt] Please plug in your cable on EV side. Please click continue before executing the manual action.
[00:15:26.551] [api_dismissed] 813466e8-1fc0-4e2c-8df6-e7da83f46c83
[00:15:26.551] [info] Got 'continue' on the previous API request, continuing.
[00:15:26.552] [info] Waiting for request messages of type StatusNotificationRequest and StartTransactionRequest. Not all message types are mandatory, as some are optional. Please refer to the testcase document to see which ones are mandatory.
[00:16:24.492] [REQUEST]
[00:16:24.492] [msg-in] [2, "1652864283", "Heartbeat", {}]
[00:16:24.509] [RESPONSE]
[00:16:24.509] [msg-out] [3, "1652864283", {"currentTime":"2025-08-05T00:16:24.509Z"}]
[00:16:36.230] [REQUEST]
[00:16:36.230] [msg-in] [2, "1652864284", "StartTransaction", {"connectorId":1,"idTag":"1441467211","meterStart":27200,"timestamp":"2025-08-05T00:16:35Z"}]
[00:16:36.243] [RESPONSE]
[00:16:36.243] [msg-out] [3, "1652864284", {"idTagInfo":{"status":"Accepted"},"transactionId":1754294116}]
[00:16:36.243] [info] Waiting for request message of type StatusNotificationRequest
[00:16:36.640] [REQUEST]
[00:16:36.640] [msg-in] [2, "1652864285", "MeterValues", {"connectorId":1,"transactionId":1754294116,"meterValue":[{"timestamp":"2025-08-05T00:16:36Z","sampledValue":[{"value":"0.000000","context":"Transaction.Begin","format":"Raw","measurand":"Current.Import","location":"Outlet","unit":"A"},{"value":"27200","context":"Transaction.Begin","format":"Raw","measurand":"Energy.Active.Import.Register","location":"Outlet","unit":"Wh"},{"value":"0","context":"Transaction.Begin","format":"Raw","measurand":"Power.Active.Import","location":"Outlet","unit":"W"},{"value":"49.500000","context":"Transaction.Begin","format":"Raw","measurand":"Temperature","location":"Body","unit":"Celsius"},{"value":"0","context":"Transaction.Begin","format":"Raw","measurand":"SoC","location":"Outlet","unit":"Percent"},{"value":"148.389999","context":"Transaction.Begin","format":"Raw","measurand":"Voltage","unit":"V"},{"value":"0","context":"Transaction.Begin","format":"Raw","measurand":"Power.Offered","location":"Outlet","unit":"kW"}]}]}]
[00:16:36.665] [RESPONSE]
[00:16:36.665] [msg-out] [3, "1652864285", {}]
[00:16:37.745] [REQUEST]
[00:16:37.745] [msg-in] [2, "1652864286", "StatusNotification", {"connectorId":1,"errorCode":"NoError","status":"Charging","timestamp":"2025-08-05T00:16:37Z"}]
[00:16:37.767] [RESPONSE]
[00:16:37.767] [msg-out] [3, "1652864286", {}]
[00:16:37.769] [info] Reached state Charging
[00:16:37.770] [REQUEST]
[00:16:37.770] [msg-out] [2, "a5a66e35-aac0-4690-a615-8b5c1b297c6c", "GetCompositeSchedule", {"connectorId":1,"duration":300,"chargingRateUnit":"A"}]
[00:16:37.771] [info] Waiting for response message of type GetCompositeScheduleResponse
[00:16:38.140] [RESPONSE]
[00:16:38.140] [msg-in] [3, "a5a66e35-aac0-4690-a615-8b5c1b297c6c", {"status":"Accepted","connectorId":1,"scheduleStart":"2025-08-05T00:16:37Z","chargingSchedule":{"startSchedule":"2025-08-05T00:16:37Z","duration":300,"chargingRateUnit":"A","chargingSchedulePeriod":[{"startPeriod":0,"limit":6.0,"numberPhases":3},{"startPeriod":224,"limit":200.0,"numberPhases":3}]}}]
[00:16:38.151] [info] Received response message of the expected type.
[00:16:38.151] [info] The value of 'Reset CS after testcase' is false
[00:16:38.151] [info] ============================ Starting Final Cleanup ==============================
[00:16:38.254] [verdict] PASS
[00:16:38.254] [info] The test case has ended.
[00:16:38.254] [stopped_testcase]
Test case result : PAS有关ocpp的任何问题,欢迎咨询:

OCPP1.6J智能充电测试用例TC_059_CS解析
929





