master updaet post Ginger 2025.4 Beta#4299
Conversation
Pre beta merge
…sting Feature/web security testing
Bug fix/beta feature remove
…gZAP Bug fix of value expression
…riverUpgrade Selenium Upgrade and AI Related changes
…tion Bugfix/Headless Execution Default Size
…rnFix D49300_Svg Child element Support Added
Updated Magic Net package and Account report APIs
…rnFix Update Remove property Logic
Updated Token Url and app configuration
…Reading Get Value by OCR enhancement
…Changes Updated Ginger Play Itegtration to remove Ginger Html Report Service URL
|
Caution Review failedThe pull request is closed. WalkthroughAdds ZAP security testing integration (UI pages, configs, driver bindings, action, client wrappers, and tests), introduces OCR-based value retrieval across platforms, updates centralized HTML report handling and endpoints, refactors version comparison using record-based parsing with tests, and applies assorted UI tweaks, enums/properties, and package upgrades. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant UI as WebServicesDriverEditPage
participant Driver as WebServicesDriver
participant ZAP as ZapProxyService
participant ZC as ZAP Server
User->>UI: Enable "Security Testing" + select Scan/Vulnerability/Fail
UI->>Driver: Bind UseSecurityTesting/ZapScanType/ZapVulnerability/FailAction
alt UseSecurityTesting = true
Driver->>ZAP: IsZapRunning()
ZAP->>ZC: core.version
ZC-->>ZAP: version
ZAP-->>Driver: true/false
alt Active scan
Driver->>ZAP: ActiveScanAPI(targetHost)
ZAP->>ZC: core.accessUrl + ascan.scan/status (poll)
ZC-->>ZAP: scan complete
Driver->>ZAP: GenerateZapReport(site, dir, file)
ZAP->>ZC: reports.generate
ZC-->>ZAP: OK
Driver-->>UI: Update action status (fail if configured)
else Passive scan
Driver->>ZAP: AddUrlToScanTree(site)
ZAP->>ZC: core.accessUrl + core.urls
ZAP->>ZC: pscan.recordsToScan (poll)
ZC-->>ZAP: 0
Driver->>ZAP: AlertsSummary(target)
ZAP->>ZC: alert.alertsSummary
ZC-->>ZAP: counts
Driver-->>UI: Update status based on threshold
end
else UseSecurityTesting = false
Driver-->>UI: Proceed without ZAP
end
sequenceDiagram
autonumber
actor User
participant Act as ActSecurityTesting
participant Page as ActSecurityTestingEditPage
participant ZAP as ZapProxyService
participant Repo as SolutionRepository
participant ZC as ZAP Server
User->>Page: Configure ScanType + Allowed Alerts
Page->>Act: Bind ScanType, AlertList/Items
Act->>Repo: Load ZAPConfiguration
Act->>ZAP: ExecuteActiveZapScan/ExecutePassiveZapScan(url)
alt Active
ZAP->>ZC: ascan.scan/status (poll)
else Passive
ZAP->>ZC: pscan.recordsToScan (poll)
end
ZAP->>ZC: reports.generate + alert.alertsSummary
ZC-->>ZAP: report + summary
ZAP-->>Act: Results
Act-->>User: Set RunStatus, attach report, return params
sequenceDiagram
autonumber
participant Runner as ActionExecutor
participant Driver as WindowsDriver
participant Ops as UIElementOperationsHelper
participant OCR as GingerOcrOperations
Runner->>Driver: Execute(ActUIElement: GetValueByOCR)
Driver->>Ops: GetValueByOCR(automationElement)
Ops->>Ops: Capture rect bitmap -> PNG bytes
Ops->>OCR: ReadTextFromByteArray(bytes)
OCR-->>Ops: extracted text
Ops-->>Driver: ActionResult(value)
Driver-->>Runner: Output param populated
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
Thank you for your contribution.
Before submitting this PR, please make sure:
Summary by CodeRabbit