Skip to content

Conversation

@Narayana-CT
Copy link
Contributor

This pull request integrates robot automation into the lf_interop_real_browser.py script, enabling the test to drive a physical robot to specific coordinates and angles for location-based browser performance testing. It includes logic for movement, rotation, and battery management to handle charging cycles automatically. The update also improves data accuracy by implementing specialized statistics collection for both mobile and laptop endpoints at each location and adding a method to reset HTTP counters between iterations. Furthermore, the reporting system has been enhanced to generate PDF and HTML reports featuring horizontal bar charts, summary tables, and embedded live view screenshots, with logic moved to a finally block to ensure reports are created even if errors occur. Finally, the update adds a new Flask endpoint and improved WebUI signaling to ensure the test status is correctly tracked.

…ser test script

- Add CLI arguments for robot configuration (--robo_ip, --coordinates, --rotations, --do_robo).
- Integrate 'lf_base_robo' module to handle robot control during testing.
- Add '/get_rb_data' endpoint to the Flask server to expose combined device data.
- Update RealBrowserTest initialization to handle robot state (angles, coordinates) when enabled.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
- Handle mobile data when there is a one mobile
- add delete_current_csv_files to restart the test from start when robot goes to charging dock

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
…o real browser test

- Implement Robo Logic: Added a workflow for do_robo that iterates through coordinates and angles (if rotations are enabled) to run tests at specific physical locations.
- Movement Control: integrated move_to_coordinate, rotate_angle, and wait_for_battery calls.
- Stats Collection: Updated to use get_robo_stats for location-specific reporting, distinguishing it from the standard static test execution.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
… image reporting

- Added stop_webui_test to update running_status.json upon completion, ensuring the WebUI reflects the finished state.
- Report Images: Implemented add_live_view_images_to_report to wait for live view screenshots (with a 60s timeout) and embed them into the final HTML report.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
…est metrics collection

- New Method: Added get_robo_stats to collect and log performance data (URLs, errors) to CSV during robot-assisted tests.
- Robot Logic: Integrated battery status checks (wait_for_battery) and state resets to handle robot charging cycles during data collection.
- Device Aggregation: Implemented logic to aggregate and report stats for both laptop and mobile endpoints simultaneously.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
…generation

- Report Generation: Added create_robo_report to compile PDF/HTML reports containing data from multiple coordinates and angles (including live view images).
- Graphing: Implemented create_robo_graphs_test_results to generate horizontal bar charts for URL counts and timing, plus detailed summary tables for each location.
- Main Logic: Updated main to conditionally trigger the robot reporting workflow and WebUI stop signal when --do_robo is active.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
…ounter cleanup

- Report Generation: Moved the report generation logic (for both Robo and Standard reports) into the finally block to ensure reports are created even if the test encounters an exception.
- New Method: Added clear_http_cx_data() to reset endpoint counters for HTTP connections.

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
Verified CLI : python3 lf_interop_real_browser_test.py --mgr 192.168.207.78 --url https://google.com --duration 1m --debug --upstream_port 192.168.200.198 --coordinates 1 --do_robo --robo_ip 192.168.200.140 --rotations 30 --device_list 1.5,1.11

Signed-off-by: Narayana-CT <narayana.pinapatruni@candelatech.com>
@goyalsaurabh06 goyalsaurabh06 merged commit 4d1ee45 into greearb:master Jan 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants