Initial QSfera import
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"server": "https://opencloud:9200",
|
||||
"theme": "https://opencloud:9200/themes/opencloud/theme.json",
|
||||
"openIdConnect": {
|
||||
"metadata_url": "https://opencloud:9200/.well-known/openid-configuration",
|
||||
"authority": "https://opencloud:9200",
|
||||
"client_id": "web",
|
||||
"response_type": "code"
|
||||
},
|
||||
"apps": [
|
||||
"files",
|
||||
"text-editor",
|
||||
"preview",
|
||||
"pdf-viewer",
|
||||
"search",
|
||||
"admin-settings",
|
||||
"ocm",
|
||||
"app-store"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPORT_PATH="$PUBLIC_BUCKET/desktop/testlogs/$CI_PIPELINE_NUMBER/$MATRIX_NAME/reports"
|
||||
REPORT_URL="$MC_HOST/$REPORT_PATH"
|
||||
|
||||
echo ""
|
||||
echo "--- GUI Test Reports ---"
|
||||
echo "Test Report: $REPORT_URL/report.html"
|
||||
echo "Client Log: $REPORT_URL/qsfera.log"
|
||||
echo "AT_SPI Driver Log: $REPORT_URL/atspi_webdriver.log"
|
||||
|
||||
screenshots=$(mc find s3/$REPORT_PATH/screenshots/ 2>/dev/null || true)
|
||||
if [[ -n "$screenshots" ]]; then
|
||||
echo "Screenshots:"
|
||||
for f in $screenshots; do
|
||||
# remove 's3/' prefix
|
||||
f=${f/s3\//}
|
||||
echo " - $MC_HOST/$f"
|
||||
done
|
||||
else
|
||||
echo "No screenshots found."
|
||||
fi
|
||||
|
||||
recordings=$(mc find s3/$REPORT_PATH/recordings/ 2>/dev/null || true)
|
||||
if [[ -n "$recordings" ]]; then
|
||||
echo ""
|
||||
echo "Recordings:"
|
||||
for f in $recordings; do
|
||||
# remove 's3/' prefix
|
||||
f=${f/s3\//}
|
||||
echo " - $MC_HOST/$f"
|
||||
done
|
||||
else
|
||||
echo "No recordings found."
|
||||
fi
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
TEST_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../ && pwd)"
|
||||
WEBDRIVER_DIR="$TEST_DIR/__webdriver"
|
||||
|
||||
mkdir -p "$WEBDRIVER_DIR"
|
||||
|
||||
DRIVER_FILE="atspi-webdriver.py"
|
||||
DRIVER_URL="https://raw.githubusercontent.com/KDE/selenium-webdriver-at-spi"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
. "$TEST_DIR/.woodpecker.env"
|
||||
|
||||
if [ -z "$ATSPI_WEBDRIVER_VERSION" ]; then
|
||||
ATSPI_WEBDRIVER_VERSION="master"
|
||||
fi
|
||||
|
||||
if [ ! -f "$WEBDRIVER_DIR/$DRIVER_FILE" ]; then
|
||||
curl -sSL --fail "$DRIVER_URL/$ATSPI_WEBDRIVER_VERSION/selenium-webdriver-at-spi.py" -o "$WEBDRIVER_DIR/$DRIVER_FILE"
|
||||
fi
|
||||
|
||||
if [ ! -f "$WEBDRIVER_DIR/app_roles.py" ]; then
|
||||
curl -sSL --fail "$DRIVER_URL/$ATSPI_WEBDRIVER_VERSION/app_roles.py" -o "$WEBDRIVER_DIR/app_roles.py"
|
||||
fi
|
||||
|
||||
if [ -z "$WEBDRIVER_HOST" ]; then
|
||||
WEBDRIVER_HOST="0.0.0.0"
|
||||
fi
|
||||
if [ -z "$WEBDRIVER_PORT" ]; then
|
||||
WEBDRIVER_PORT="4723"
|
||||
fi
|
||||
|
||||
# run webdriver server
|
||||
export FLASK_ENV=production
|
||||
export FLASK_APP="$WEBDRIVER_DIR/$DRIVER_FILE"
|
||||
flask run --host="$WEBDRIVER_HOST" --port="$WEBDRIVER_PORT" --no-reload
|
||||
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
|
||||
touch .woodpecker.env
|
||||
|
||||
PY_REQUIREMENTS_PATH="test/gui/requirements.txt"
|
||||
|
||||
# get playwright version from requirements.txt
|
||||
get_playwright_version() {
|
||||
if [[ ! -f "$PY_REQUIREMENTS_PATH" ]]; then
|
||||
echo "Error: file not found: $PY_REQUIREMENTS_PATH"
|
||||
fi
|
||||
|
||||
playwright_version=$(grep 'playwright==' "$PY_REQUIREMENTS_PATH" | cut -d'=' -f3 | cut -d'.' -f1-2)
|
||||
playwright_version=${playwright_version//[^0-9.]/}
|
||||
if [[ -z "$playwright_version" ]]; then
|
||||
echo "Error: Playwright package not found in requirements.txt" >&2
|
||||
exit 78
|
||||
fi
|
||||
|
||||
echo "$playwright_version"
|
||||
}
|
||||
|
||||
# Function to check if the cache exists for the given commit ID
|
||||
check_browsers_cache() {
|
||||
playwright_version=$(get_playwright_version)
|
||||
|
||||
playwright_cache=$(mc find s3/$CACHE_BUCKET/desktop/browsers-cache/$playwright_version/playwright-browsers.tar.gz 2>&1 | grep 'Object does not exist')
|
||||
|
||||
if [[ "$playwright_cache" != "" ]]
|
||||
then
|
||||
echo "Browsers cache for playwright v$playwright_version not found in cache."
|
||||
ENV="BROWSER_CACHE_FOUND=false\n"
|
||||
else
|
||||
echo "Browsers cache for playwright v$playwright_version found in cache."
|
||||
ENV="BROWSER_CACHE_FOUND=true\n"
|
||||
fi
|
||||
}
|
||||
|
||||
get_requirementstxt_hash() {
|
||||
requirements_sha=$(sha1sum $PY_REQUIREMENTS_PATH | cut -d" " -f1)
|
||||
echo "$requirements_sha"
|
||||
}
|
||||
|
||||
check_python_cache() {
|
||||
requirements_sha=$(get_requirementstxt_hash)
|
||||
python_cache=$(mc find s3/$CACHE_BUCKET/desktop/python-cache/$requirements_sha/python-cache.tar.gz 2>&1 | grep 'Object does not exist')
|
||||
|
||||
if [[ "$python_cache" != "" ]]
|
||||
then
|
||||
echo "Python cache for '$requirements_sha' hash not found in cache."
|
||||
ENV="PYTHON_CACHE_FOUND=false\n"
|
||||
else
|
||||
echo "Python cache for '$requirements_sha' hash found in cache."
|
||||
ENV="PYTHON_CACHE_FOUND=true\n"
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$1" == "" ]]; then
|
||||
echo "Usage: $0 [COMMAND]"
|
||||
echo "Commands:"
|
||||
echo -e " get_playwright_version \t get the playwright version from requirements.txt"
|
||||
echo -e " get_requirementstxt_hash \t get the hash of the current requirements.txt"
|
||||
echo -e " check_browsers_cache \t check if the browsers cache exists for the given playwright version"
|
||||
echo -e " check_python_cache \t check if a cache for the current requirements.txt exists"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
$1
|
||||
|
||||
echo -e $ENV >> .woodpecker.env
|
||||
@@ -0,0 +1,3 @@
|
||||
[General]
|
||||
AUT/qsfera = "/woodpecker/desktop/build/bin"
|
||||
AUTPMTimeout = "15000"
|
||||
Reference in New Issue
Block a user