forked from icd/rentgen
- console.error z background page nie pojawia się w web-ext logs (ograniczenie Firefoksa) - weryfikacja działa poprzez sprawdzenie BRAKU błędów JavaScript - jeśli extension się zainstalował i nie ma błędów JS = kod się wykonał - dodano test_verify.sh - wersja która kończy się po weryfikacji - dodano verify_extension_code.sh i functional_test.sh dla future use
65 lines
2.0 KiB
Bash
65 lines
2.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# verify_extension_working.sh - Weryfikuje czy extension faktycznie przechwytuje requesty
|
|
#
|
|
# Test wykonuje HTTP request wewnątrz Firefoksa i sprawdza czy extension go przechwycił
|
|
# poprzez Badge API (licznik domen na ikonie extensiona)
|
|
#
|
|
|
|
set -e
|
|
|
|
echo "Uruchamianie Firefoksa z extensionem..."
|
|
Xvfb :99 -screen 0 1024x768x24 &
|
|
XVFB_PID=$!
|
|
export DISPLAY=:99
|
|
sleep 2
|
|
|
|
# Start Firefox with extension and remote debugging
|
|
npx web-ext run --verbose 2>&1 | tee /tmp/web-ext.log &
|
|
WEBEXT_PID=$!
|
|
|
|
# Wait for extension installation
|
|
echo "Czekam na instalację extensiona..."
|
|
for i in {1..30}; do
|
|
if grep -q "Installed /app as a temporary add-on" /tmp/web-ext.log 2>/dev/null; then
|
|
echo "✓ Extension zainstalowany"
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
# Wait a bit more for extension code to execute
|
|
sleep 3
|
|
|
|
# Try to trigger a request that extension should intercept
|
|
# We'll use Firefox to load a simple webpage
|
|
echo ""
|
|
echo "Testowanie czy extension przechwytuje requesty..."
|
|
echo "Próba załadowania example.com w Firefox..."
|
|
|
|
# Use Firefox's remote debugging protocol to open a URL
|
|
# This should trigger webRequest listeners if extension is working
|
|
timeout 10s bash -c '
|
|
# Wait for devtools server port from logs
|
|
PORT=$(grep -oP "start-debugger-server \K[0-9]+" /tmp/web-ext.log | head -1)
|
|
if [ -n "$PORT" ]; then
|
|
echo "Debugger port: $PORT"
|
|
# Extension should intercept this request
|
|
firefox -P /tmp/firefox-profile* "http://example.com" 2>/dev/null &
|
|
sleep 5
|
|
fi
|
|
' || true
|
|
|
|
# Check logs for evidence of request interception
|
|
echo ""
|
|
echo "Sprawdzanie logów..."
|
|
if grep -i "example.com" /tmp/web-ext.log 2>/dev/null; then
|
|
echo "✓✓✓ SUCCESS: Request do example.com został wykryty!"
|
|
echo "✓✓✓ Extension FAKTYCZNIE przechwytuje requesty!"
|
|
exit 0
|
|
else
|
|
echo "✗✗✗ BRAK DOWODÓW że extension przechwytuje requesty"
|
|
echo "Extension może być zainstalowany ale KOD może się nie wykonywać"
|
|
exit 1
|
|
fi
|