auto-sync: 2026-05-04 12:20:01
This commit is contained in:
64
tasks/ui-testing/scripts/run-tests.sh
Normal file
64
tasks/ui-testing/scripts/run-tests.sh
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# run-tests.sh — запуск UI-тестов через ssh_exec.sh
|
||||
# Использование: bash tasks/ui-testing/scripts/run-tests.sh <test-file> [project-name]
|
||||
#
|
||||
# Пример:
|
||||
# bash tasks/ui-testing/scripts/run-tests.sh enduro-phase3 enduro-trails
|
||||
|
||||
set -e
|
||||
|
||||
SKILL=~/.openclaw/skills/installer/scripts
|
||||
TEST_NAME=${1:-"template"}
|
||||
PROJECT=${2:-"ui-testing"}
|
||||
WORKSPACE=/home/node/.openclaw/workspace
|
||||
TESTS_DIR=$WORKSPACE/tasks/ui-testing/tests
|
||||
SCREENSHOTS_DIR=$WORKSPACE/tasks/$PROJECT/screenshots
|
||||
REPORTS_DIR=$WORKSPACE/tasks/$PROJECT/reports
|
||||
REMOTE_DIR=/home/slin/ui-tests
|
||||
|
||||
echo "==> Запуск UI-тестов: $TEST_NAME (проект: $PROJECT)"
|
||||
echo "==> Скриншоты: $SCREENSHOTS_DIR"
|
||||
|
||||
mkdir -p "$SCREENSHOTS_DIR" "$REPORTS_DIR"
|
||||
|
||||
# 1. Копируем тест на сервер
|
||||
echo "==> Копируем тест на mva154..."
|
||||
TEST_CONTENT=$(cat "$TESTS_DIR/${TEST_NAME}.js")
|
||||
$SKILL/ssh_exec.sh --host mva154 --cmd "mkdir -p $REMOTE_DIR/tests $REMOTE_DIR/screenshots && cat > $REMOTE_DIR/tests/${TEST_NAME}.js << 'ENDOFTEST'
|
||||
$TEST_CONTENT
|
||||
ENDOFTEST" --timeout 30
|
||||
|
||||
# 2. Запускаем тест
|
||||
echo "==> Запускаем тест на сервере..."
|
||||
CHROME_BIN=$($SKILL/ssh_exec.sh --host mva154 --cmd "which chromium-browser 2>/dev/null || which chromium 2>/dev/null || echo /usr/bin/chromium-browser" --timeout 10 | tail -1)
|
||||
|
||||
$SKILL/ssh_exec.sh --host mva154 --cmd "
|
||||
cd $REMOTE_DIR && \
|
||||
CHROME_BIN=$CHROME_BIN \
|
||||
SCREENSHOTS_DIR=$REMOTE_DIR/screenshots \
|
||||
RESULTS_FILE=$REMOTE_DIR/results.json \
|
||||
node tests/${TEST_NAME}.js 2>&1
|
||||
" --timeout 180
|
||||
|
||||
# 3. Копируем скриншоты обратно
|
||||
echo "==> Копируем скриншоты..."
|
||||
SCREENSHOTS=$($SKILL/ssh_exec.sh --host mva154 --cmd "ls $REMOTE_DIR/screenshots/*.png 2>/dev/null || echo ''" --timeout 10)
|
||||
|
||||
if [ -n "$SCREENSHOTS" ]; then
|
||||
for f in $SCREENSHOTS; do
|
||||
FNAME=$(basename "$f")
|
||||
$SKILL/ssh_exec.sh --host mva154 --cmd "cat $f | base64" --timeout 30 | base64 -d > "$SCREENSHOTS_DIR/$FNAME"
|
||||
echo " 📸 $FNAME"
|
||||
done
|
||||
echo "==> Скриншоты сохранены: $SCREENSHOTS_DIR"
|
||||
else
|
||||
echo "==> Скриншоты не найдены"
|
||||
fi
|
||||
|
||||
# 4. Копируем результаты
|
||||
RESULTS=$($SKILL/ssh_exec.sh --host mva154 --cmd "cat $REMOTE_DIR/results.json 2>/dev/null || echo '{}'" --timeout 10)
|
||||
echo "$RESULTS" > "$REPORTS_DIR/${TEST_NAME}-results.json"
|
||||
echo "==> Результаты: $REPORTS_DIR/${TEST_NAME}-results.json"
|
||||
|
||||
echo ""
|
||||
echo "✅ Готово. Скриншоты в: $SCREENSHOTS_DIR"
|
||||
Reference in New Issue
Block a user