72 lines
2.0 KiB
Bash
Executable File
72 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test script for iframe timeout functionality
|
|
set -e
|
|
|
|
echo "Starting iframe timeout test..."
|
|
|
|
# Start the daemon in background
|
|
echo "Starting cremotedaemon..."
|
|
./cremotedaemon --debug &
|
|
DAEMON_PID=$!
|
|
|
|
# Wait for daemon to start
|
|
sleep 2
|
|
|
|
# Function to cleanup
|
|
cleanup() {
|
|
echo "Cleaning up..."
|
|
kill $DAEMON_PID 2>/dev/null || true
|
|
wait $DAEMON_PID 2>/dev/null || true
|
|
}
|
|
|
|
# Set trap for cleanup
|
|
trap cleanup EXIT
|
|
|
|
# Test 1: Basic iframe switching with timeout
|
|
echo "Test 1: Basic iframe switching with timeout"
|
|
TAB_ID=$(./cremote open-tab --timeout 5 | grep -o '"[^"]*"' | tr -d '"')
|
|
echo "Created tab: $TAB_ID"
|
|
|
|
# Load test page
|
|
./cremote load-url --tab "$TAB_ID" --url "file://$(pwd)/test-iframe.html" --timeout 10
|
|
echo "Loaded test page"
|
|
|
|
# Switch to iframe with timeout
|
|
echo "Switching to iframe with 5 second timeout..."
|
|
./cremote switch-iframe --tab "$TAB_ID" --selector "#test-iframe" --timeout 5
|
|
echo "Successfully switched to iframe"
|
|
|
|
# Try to click button in iframe
|
|
echo "Clicking button in iframe..."
|
|
./cremote click-element --tab "$TAB_ID" --selector "#iframe-button" --selection-timeout 5 --action-timeout 5
|
|
echo "Successfully clicked iframe button"
|
|
|
|
# Switch back to main
|
|
echo "Switching back to main context..."
|
|
./cremote switch-main --tab "$TAB_ID"
|
|
echo "Successfully switched back to main"
|
|
|
|
# Try to click main button
|
|
echo "Clicking main page button..."
|
|
./cremote click-element --tab "$TAB_ID" --selector "#main-button" --selection-timeout 5 --action-timeout 5
|
|
echo "Successfully clicked main button"
|
|
|
|
# Test 2: Test timeout with non-existent iframe
|
|
echo ""
|
|
echo "Test 2: Testing timeout with non-existent iframe"
|
|
set +e # Allow command to fail
|
|
./cremote switch-iframe --tab "$TAB_ID" --selector "#non-existent-iframe" --timeout 2
|
|
RESULT=$?
|
|
set -e
|
|
|
|
if [ $RESULT -eq 0 ]; then
|
|
echo "ERROR: Expected timeout failure but command succeeded"
|
|
exit 1
|
|
else
|
|
echo "SUCCESS: Timeout correctly handled for non-existent iframe"
|
|
fi
|
|
|
|
echo ""
|
|
echo "All iframe timeout tests passed!"
|