Bonjour, j'ai pas mal avancé sur les erreurs, il ne faut pas regarder que regarder les logs de orchestrator (peut être le mettre en mode debug), j'ai pu corriger les erreurs via les documents dans /tmp :
J'avais mon serveur Git qui été mal configurer.
J'avais pas assez de ram, il faut un peu plus de 4Gi
J'ai fait mon propre docker agentrobotframework, Il faut installer autrement les webdriver sur le robot. Pour l'instant edge et opera ne fonctionne pas.
Dockerfile
Code : Tout sélectionner
# syntax=docker/dockerfile:1
FROM python:3
ENV DEBIAN_FRONTEND noninteractive
# Copy the file containing the list of packages to install into the container
COPY requirements/* /tmp/
# Install Chrome
RUN apt-get update \
&& apt-get install -y fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libcups2 libgtk-3-0 libnspr4 libnss3 libu2f-udev libvulkan1 libxcomposite1 libxdamage1 libxfixes3 libxkbcommon0 libxrandr2 xdg-utils \
&& wget https://chromedriver.storage.googleapis.com/LATEST_RELEASE \
&& VERSION=$(cat LATEST_RELEASE) \
&& wget https://chromedriver.storage.googleapis.com/$VERSION/chromedriver_linux64.zip \
&& wget https://mirror.cs.uchicago.edu/google-chrome/pool/main/g/google-chrome-stable/google-chrome-stable_$VERSION-1_amd64.deb \
&& dpkg -i google-chrome-stable_*_amd64.deb \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& chmod +x /usr/local/bin/chromedriver
# Download the latest version of geckodriver
RUN LATEST_GECKODRIVER=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")') \
&& wget https://github.com/mozilla/geckodriver/releases/download/$LATEST_GECKODRIVER/geckodriver-$LATEST_GECKODRIVER-linux64.tar.gz \
&& tar -xzf geckodriver-$LATEST_GECKODRIVER-linux64.tar.gz \
&& mv geckodriver /usr/local/bin/ \
&& chmod +x /usr/local/bin/geckodriver
# Download the latest version of Microsoft Edge WebDriver
RUN LATEST_EDGEDRIVER=$(curl -s https://msedgedriver.azureedge.net/LATEST_STABLE | tr -dc '0-9.') \
&& wget "https://msedgedriver.azureedge.net/$LATEST_EDGEDRIVER/edgedriver_linux64.zip" \
&& unzip edgedriver_linux64.zip \
&& mv msedgedriver /usr/local/bin/ \
&& chmod +x /usr/local/bin/msedgedriver
# Install Edge (Chromium-based)
RUN wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add - \
&& echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge-dev.list
# Download the latest version of Opera WebDriver
RUN LATEST_OPERADRIVER=$(curl -s https://api.github.com/repos/operasoftware/operachromiumdriver/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")') \
&& wget https://github.com/operasoftware/operachromiumdriver/releases/download/$LATEST_OPERADRIVER/operadriver_linux64.zip \
&& unzip operadriver_linux64.zip \
&& mv operadriver_linux64/operadriver /usr/local/bin/ \
&& chmod +x /usr/local/bin/operadriver
# Install Opera
RUN wget -qO - https://deb.opera.com/archive.key | apt-key add - \
&& echo "deb https://deb.opera.com/opera-stable/ stable non-free" >> /etc/apt/sources.list.d/opera.list
# Install packages from file
RUN apt-get update \
&& apt-get install -y --no-install-recommends $(grep -v '^#' /tmp/apt-get-requirements-file.txt)
# Install pip packages
RUN pip install --no-cache-dir -r /tmp/pip-requirements-file.txt
# File for launch app
COPY init.sh /tmp/
RUN chmod u+x /tmp/init.sh
COPY test.robot /home/
COPY selenium.resource /home/
# Set default working directory
WORKDIR /home
ENTRYPOINT ["/tmp/init.sh"]
init.sh
Code : Tout sélectionner
#!/bin/bash
# Uncomment bashrc options
sed -i '/export LS_OPTIONS=.*/s/^#//' ~/.bashrc
sed -i '/eval "$(dircolors)"/s/^#//' ~/.bashrc
sed -i '/alias ll=.*/s/^#//' ~/.bashrc
opentf-agent --name agent-robotframework --tags ${TAGS} --host http://${HOST} --token ${TOKEN} --debug
while true; do sleep 1; done
apt-get-requirements-file.txt
Code : Tout sélectionner
# Install tools
apt-utils
nano
git
openssh-server
wget
sudo
python3-pip
procps
vim
iputils-ping
# Browser
firefox-esr
microsoft-edge-dev
opera-stable
epiphany-browser
pip-requirements-file.txt
Code : Tout sélectionner
# Python dependencies
python-language-server
# Opentestfactory dependencies
squash-tf-services
opentf-agent
# Robotframework libraries
robotframework
robotframework-browser
robotframework-autorecorder
robotframework-pythonlibcore
robotframework-screencaplibrary
robotframework-seleniumlibrary
robotframework-appiumlibrary
allure-robotframework
RESTinstance
requests
screeninfo
# Xvfb dependencies
xvfbwrapper
robotframework-xvfb
# Robotframework appium dependencies
urllib3
test0.robot
Code : Tout sélectionner
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${URL} https://www.google.com
${CHROMEDRIVER_PATH} /usr/local/bin/chromedriver
${GECKODRIVER_PATH} /usr/local/bin/geckodriver
${EDGEDRIVER_PATH} /usr/local/bin/msedgedriver
${OPERADRIVER_PATH} /usr/local/bin/operadriver
*** Keywords ***
Open Website
[Arguments] ${URL} ${browser}
${options}= Get Browser Options ${browser}
${driver_path}= Get Driver Path ${browser}
Run Keyword Open Browser ${URL} ${browser} options=${options} executable_path=${driver_path}
Get Browser Options
[Arguments] ${browser}
${options}= Evaluate sys.modules['selenium.webdriver'].${browser.capitalize()}Options() sys, selenium.webdriver
Run Keyword If '${browser}' == 'chrome' Add Chrome Options ${options}
... ELSE IF '${browser}' == 'firefox' Add Firefox Options ${options}
... ELSE IF '${browser}' == 'edge' Add Edge Options ${options}
... ELSE IF '${browser}' == 'opera' Add Opera Options ${options}
Return From Keyword ${options}
Add Chrome Options
[Arguments] ${options}
Call Method ${options} add_argument --no-sandbox
Call Method ${options} add_argument --headless
Add Firefox Options
[Arguments] ${options}
Call Method ${options} add_argument --headless
Add Edge Options
[Arguments] ${options}
Call Method ${options} add_argument --headless
Add Opera Options
[Arguments] ${options}
Call Method ${options} add_argument --headless
Get Driver Path
[Arguments] ${browser}
${driver_path}= Run Keyword If '${browser}' == 'chrome' Set Variable ${CHROMEDRIVER_PATH}
... ELSE IF '${browser}' == 'firefox' Set Variable ${GECKODRIVER_PATH}
... ELSE IF '${browser}' == 'edge' Set Variable ${EDGEDRIVER_PATH}
... ELSE IF '${browser}' == 'opera' Set Variable ${OPERADRIVER_PATH}
Return From Keyword ${driver_path}
Click Element If Present
[Arguments] ${locator}
Wait Until Element Is Visible ${locator} timeout=10s
Click Element ${locator}
Open Navigator
Open Website ${url} ${browser}
Set Browser Implicit Wait 30
Run Keyword If '${browser}' == 'chrome' Handle Chrome Permissions
Maximize Browser Window
Handle Chrome Permissions
Click Element If Present id=details-button
Click Element If Present id=proceed-link
*** Test Cases ***
Open Browser And Check Title
Open Website ${URl} chrome
Title Should Be Google
Close Browser
Il me manquer la library publisher
Code : Tout sélectionner
Plugins installés
api.rest.core-6.0.0.RELEASE.jar
api.rest.services-6.0.0.RELEASE.jar
automation.result.publisher-6.0.1.RELEASE.jar
automation.scm.git-6.0.0.RELEASE.jar
automation.squashautom.community-6.0.0.RELEASE.jar
automation.testplan.retriever.community-6.0.0.RELEASE.jar
bugtracker.mantis-6.0.0.RELEASE.jar
org.eclipse.jgit-6.4.0.202211300538-r.jar
report.books.requirements.editable-6.0.0.RELEASE.jar
report.books.requirements.pdf-6.0.0.RELEASE.jar
report.books.testcases.editable-6.0.0.RELEASE.jar
report.books.testcases.pdf-6.0.0.RELEASE.jar
report.qualitativecoverage-6.0.0.RELEASE.jar
sync.xsquash4jira-6.0.0.RELEASE.jar
Du coup j'ai enfin un retour sur squash.
Mais il reste une erreur :
ERROR in interpreter: An error occurred while trying to extract status of test case or test suite having test reference: 'AQ-Tests/test0.robot#OpenBrowserAndCheckTitle'
WARNING in receptionist: Not a known format, expecting JSON or YAML.