Ghost (QA Testing)

View as Markdown

Ghost behavior in the UE plugin mirrors the current ghost slice in the TypeScript SDKs. The UE runtime starts and monitors API-backed Ghost sessions rather than running a separate local test-engine abstraction.

Core Types

Key response types:

  • FGhostRunResponse
  • FGhostStatusResponse
  • FGhostResultsResponse
  • FGhostHistoryEntry
  • FGhostTestReport

FGhostConfig carries the request metadata used to start a session.

Start And Poll A Session

1#include "RuntimeStore.h"
2#include "RuntimeConfig.h"
3#include "CLI/CliOperations.h"
4
5auto Store = createSDKStore();
6SDKConfig::SetApiConfig(TEXT("https://api.forboc.ai"), ApiKey);
7
8FGhostRunResponse Run = SDKOps::GhostRun(Store, TEXT("smoke"), 300);
9FGhostStatusResponse Status = SDKOps::GhostStatus(Store, Run.SessionId);
10FGhostResultsResponse Results = SDKOps::GhostResults(Store, Run.SessionId);

To stop a running session:

1FGhostStopResponse Stop = SDKOps::GhostStop(Store, Run.SessionId);

To inspect recent history:

1TArray<FGhostHistoryEntry> History = SDKOps::GhostHistory(Store, 10);

Slice Behavior

getGhostResultsThunk(...) translates the raw API result payload into FGhostTestReport data inside GhostSlice, including:

  • pass/fail counts
  • duration
  • coverage
  • metrics
  • per-test screenshot and error metadata

Blueprint Support

The Blueprint library currently exposes:

  • GhostRun(TestSuite, Duration) -> SessionId
  • GhostStop(SessionId) -> StopStatus

For status, results, and history polling, use C++ with SDKOps or the direct thunks.