70 lines
1.7 KiB
Bash
Executable File
70 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test existing commands to make sure basic setup works
|
|
set -e
|
|
|
|
echo "=== Testing Existing Commands ==="
|
|
|
|
# Kill any existing processes
|
|
pkill -f chromium || true
|
|
pkill -f cremotedaemon || true
|
|
sleep 2
|
|
|
|
# Start Chrome
|
|
echo "Starting Chrome..."
|
|
chromium --remote-debugging-port=9222 --user-data-dir=/tmp/chromium-debug --no-sandbox --disable-dev-shm-usage --headless &
|
|
CHROME_PID=$!
|
|
sleep 5
|
|
|
|
# Verify Chrome is responding
|
|
echo "Checking Chrome DevTools..."
|
|
curl -s http://localhost:9222/json/version || {
|
|
echo "Chrome DevTools not responding"
|
|
exit 1
|
|
}
|
|
|
|
# Start daemon
|
|
echo "Starting daemon..."
|
|
./cremotedaemon --debug &
|
|
DAEMON_PID=$!
|
|
sleep 3
|
|
|
|
cleanup() {
|
|
echo "Cleaning up..."
|
|
if [ ! -z "$DAEMON_PID" ]; then
|
|
kill $DAEMON_PID 2>/dev/null || true
|
|
fi
|
|
if [ ! -z "$CHROME_PID" ]; then
|
|
kill $CHROME_PID 2>/dev/null || true
|
|
fi
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
# Test existing command
|
|
echo "Testing open-tab command..."
|
|
RESPONSE=$(curl -s -X POST http://localhost:8989/command \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"action": "open-tab", "params": {"timeout": "10"}}')
|
|
echo "Open tab response: $RESPONSE"
|
|
|
|
if echo "$RESPONSE" | grep -q "Unknown action"; then
|
|
echo "ERROR: Even existing commands don't work!"
|
|
exit 1
|
|
fi
|
|
|
|
# Test our new command
|
|
echo "Testing check-element command..."
|
|
RESPONSE=$(curl -s -X POST http://localhost:8989/command \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"action": "check-element", "params": {"selector": "body", "type": "exists"}}')
|
|
echo "Check element response: $RESPONSE"
|
|
|
|
if echo "$RESPONSE" | grep -q "Unknown action"; then
|
|
echo "ERROR: New command not recognized"
|
|
exit 1
|
|
else
|
|
echo "SUCCESS: New command recognized!"
|
|
fi
|
|
|
|
echo "Test completed successfully!"
|