fixed type hinting so that it is not converted to str #645
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SeleniumLibrary CI | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
continue-on-error: true | |
strategy: | |
matrix: | |
python-version: [3.8, 3.11] # 3.12, pypy-3.9 | |
rf-version: [4.1.3, 5.0.1, 6.0.1] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} with Robot Framework ${{ matrix.rf-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup Chrome | |
uses: browser-actions/setup-chrome@latest | |
with: | |
chrome-version: latest | |
id: setup-chrome | |
- run: | | |
echo Installed chromium version: ${{ steps.setup-chrome.outputs.chrome-version }} | |
${{ steps.setup-chrome.outputs.chrome-path }} --version | |
- name: Start xvfb | |
run: | | |
export DISPLAY=:99.0 | |
Xvfb -ac :99 -screen 0 1280x1024x16 > /dev/null 2>&1 & | |
- name: Install dependencies | |
if: matrix.python-version != 'pypy-3.7' | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
- name: Install dependencies for pypy | |
if: matrix.python-version == 'pypy-3.9' | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install robotstatuschecker>=1.4 | |
pip install requests robotframework-pabot | |
- name: Install RF ${{ matrix.rf-version }} | |
run: | | |
pip install -U --pre robotframework==${{ matrix.rf-version }} | |
- name: Install drivers via selenium-manager | |
run: | | |
SELENIUM_MANAGER_EXE=$(python -c 'from selenium.webdriver.common.selenium_manager import SeleniumManager; sm=SeleniumManager(); print(f"{str(sm.get_binary())}")') | |
echo "$SELENIUM_MANAGER_EXE" | |
echo "WEBDRIVERPATH=$($SELENIUM_MANAGER_EXE --browser chrome --debug | awk '/INFO[[:space:]]Driver path:/ {print $NF;exit}')" >> "$GITHUB_ENV" | |
echo "$WEBDRIVERPATH" | |
- name: Generate stub file for ${{ matrix.python-version }} | |
if: matrix.python-version != 'pypy-3.9' | |
run: | | |
invoke gen-stub | |
- name: Run tests with headless Chrome and with PyPy | |
if: matrix.python-version == 'pypy-3.9' | |
run: | | |
xvfb-run --auto-servernum python atest/run.py --nounit --zip headlesschrome | |
- name: Run tests with normal Chrome if CPython | |
if: matrix.python-version != 'pypy-3.9' | |
run: | | |
xvfb-run --auto-servernum python atest/run.py --zip chrome | |
# Recognize for the moment this will NOT run as we aren't using Python 3.9 | |
- name: Run tests with headless Firefox with Python 3.9 and RF 4.1.3 | |
if: matrix.python-version == '3.9' && matrix.rf-version == '4.1.3' | |
run: | | |
xvfb-run --auto-servernum python atest/run.py --zip headlessfirefox | |
- name: Run tests with normal Firefox with Python 3.9 and RF != 4.1.3 | |
if: matrix.python-version == '3.9' && matrix.rf-version != '4.1.3' | |
run: | | |
xvfb-run --auto-servernum python atest/run.py --zip firefox | |
# - name: Run tests with Selenium Grid | |
# if: matrix.python-version == '3.11' && matrix.rf-version == '3.2.2' && matrix.python-version != 'pypy-3.7' | |
# run: | | |
# wget --no-verbose --output-document=./selenium-server-standalone.jar http://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar | |
# sudo chmod u+x ./selenium-server-standalone.jar | |
# xvfb-run --auto-servernum python atest/run.py --zip headlesschrome --grid True | |
- uses: actions/upload-artifact@v1 | |
if: success() || failure() | |
with: | |
name: Failed Test results | |
path: atest/zip_results |