feat: Add test recording and replay functionality to ImGuiTestHarness
- Introduced TestRecorder class to capture GUI automation RPCs and export them as JSON test scripts. - Implemented StartRecording, StopRecording, and ReplayTest RPCs in ImGuiTestHarnessService. - Updated imgui_test_harness.proto to include new RPCs and message definitions for recording and replay. - Created TestScriptParser for reading and writing test scripts in JSON format. - Enhanced DiscoverWidgetsRequest and DiscoveredWidget messages with detailed comments for clarity. - Added ScopedSuspension mechanism in TestRecorder to manage recording state.
This commit is contained in:
@@ -238,8 +238,15 @@ if(YAZE_WITH_GRPC)
|
||||
target_sources(yaze PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/imgui_test_harness_service.cc
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/imgui_test_harness_service.h
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/test_recorder.cc
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/test_recorder.h
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/test_script_parser.cc
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/test_script_parser.h
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/widget_discovery_service.cc
|
||||
${CMAKE_SOURCE_DIR}/src/app/core/widget_discovery_service.h)
|
||||
|
||||
target_include_directories(yaze PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/third_party/json/include)
|
||||
|
||||
# Link gRPC libraries
|
||||
target_link_libraries(yaze PRIVATE
|
||||
|
||||
Reference in New Issue
Block a user