Takehome Assignment for dev
Build a simple UI automation that validates a mock agent desktop web application. Your automation should create a deterministic test run, open the desktop, validate the rendered UI, and identify at least one defect.
runId.
testgenerator.html
to get a feel for the desktop, generate sample runs, and then click
the desktop url at the bottom and understand the flow before
automating it.
Send a
POST
request with a conversation details to
/api/testrun
to simulate to chat conversation. The backend returns a unique
runId
.
Use the returned
runId
to open
/desktop/{runId}
. The desktop renders content for that run.
If the interaction is authenticated, the backend resolves the
customer profile automatically from sample account data using
customerAccountNumber
.
The submitted
chatTranscript
appears after chat acceptance. The live chat input can also send
new messages during runtime, and a echo back customer message will
also show up once agent send a message so simulate a live
conversation.
{
"interactionInformation": {
"interactionId": "CHAT-10001",
"channel": "Chat",
"authenticationStatus": "Authenticated",
"customerAccountNumber": "10012",
"journeyName": "Billing Support",
"queueName": "Billing Tier 1",
"agentDesktopStatus": "Connected",
"startTime": "2026-03-11T10:30:00Z"
},
"chatTranscript": [
{
"sender": "Customer",
"timestamp": "14:31:01",
"message": "I was charged twice this month."
},
{
"sender": "Bot",
"timestamp": "14:31:09",
"message": "I can help with billing issues."
},
{
"sender": "System",
"timestamp": "14:31:50",
"message": "Handoff to Billing Tier 1"
}
]
}
The backend response will include a
runId
, a desktop path, and a creation timestamp.
/api/testrun for
creating test runs1 hour may be purged from
test run storage as expected behavior
/desktop for opening
the mock desktop shell, then append a runId/testgenerator.html
for manually exploring and generating runs/sampleprofile/index.html
for browsing sample customer profiles/sampletranscription/index.html
for browsing optional sample transcriptsrunIdThe desktop has some defects, For example:
You are encouraged to discover and report issues like this as part of your submission.
/desktopv2 which if you run your automation against
that desktop url, this bug should show as fixed