Skip to content

Commit b0c22ee

Browse files
Version 3.0.0 (#80)
1 parent d38cdbc commit b0c22ee

143 files changed

Lines changed: 2969 additions & 754 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup/action.yml

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
11
name: 'Setup Environment'
2-
description: 'Set up tests and extract tox environment variable'
2+
description: 'Set up tests environment'
33

44
inputs:
55
python-version:
6-
description: 'Python version for tox environment'
6+
description: 'Python version'
77
required: true
88

9-
outputs:
10-
tox-env:
11-
description: 'Extracted tox environment variable'
12-
value: ${{ steps.extract-tox-env.outputs.tox_env }}
13-
149
runs:
1510
using: 'composite'
1611
steps:
@@ -20,15 +15,11 @@ runs:
2015
with:
2116
python-version: ${{ inputs.python-version }}
2217

23-
- name: Setup Tox
24-
shell: bash
25-
run: |
26-
python -m pip install --upgrade pip
27-
pip install tox==3.28.0
18+
- name: Install uv
19+
uses: astral-sh/setup-uv@v5.1.0
2820

29-
- name: Extract tox env
30-
id: extract-tox-env
21+
- name: Install dev dependencies from pyproject.toml
3122
shell: bash
3223
run: |
33-
tox_env_variable=$(echo "${{ inputs.python-version }}" | sed -E 's/^([0-9]+)\.([0-9]+)(\..*)?/\1\2/')
34-
echo "tox_env=${tox_env_variable}" >> $GITHUB_OUTPUT
24+
uv venv
25+
uv sync --all-extras --dev

.github/actions/teardown/action.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,8 @@ inputs:
55
browser-name:
66
description: 'Browser name used in tests'
77
required: true
8-
tox-env:
9-
description: 'Tox environment variable'
10-
required: true
118
engine:
12-
description: 'Tests engine'
9+
description: 'Tests framework'
1310
required: true
1411

1512
runs:
@@ -18,7 +15,7 @@ runs:
1815
- name: Upload Allure Report as Artifact
1916
uses: actions/upload-artifact@v4
2017
with:
21-
name: allure-report-${{ inputs.browser-name }}-${{ inputs.engine }}-${{ inputs.tox-env }}
18+
name: allure-report-${{ inputs.browser-name }}-${{ inputs.engine }}
2219
path: allure-report
2320
retention-days: 1
2421

.github/workflows/appium_android_tests.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ on:
44
push:
55
branches:
66
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/static_tests/**'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
714

815
jobs:
916
android-tests:
@@ -28,8 +35,6 @@ jobs:
2835
npm install -g npm@10.9.0
2936
npm install -g appium@2.14.0
3037
appium driver install uiautomator2@3.9.0
31-
# npm install -g appium-doctor # Uncomment for debug
32-
# appium-doctor # Uncomment for debug
3338
3439
- name: Start Appium Server in the Background
3540
run: |
@@ -47,7 +52,7 @@ jobs:
4752
id: tests
4853
continue-on-error: true
4954
with:
50-
script: tox -e py38-android-web -- -v --alluredir=allure-report -m='not low' --reruns=2
55+
script: uv run --no-config pytest tests/web_tests --platform android --driver chrome -v --alluredir=allure-report --reruns=2 -m='not low'
5156
api-level: 33
5257
target: google_apis
5358
arch: x86_64
@@ -58,5 +63,4 @@ jobs:
5863
uses: ./.github/actions/teardown
5964
with:
6065
browser-name: "chrome"
61-
tox-env: "38"
6266
engine: "appium"

.github/workflows/appium_ios_tests.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ on:
44
push:
55
branches:
66
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/static_tests/**'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
714

815
jobs:
916
ios-tests:
@@ -36,13 +43,12 @@ jobs:
3643
- name: Run Appium Safari tests
3744
id: tests
3845
run: |
39-
tox -e py38-ios-web -- -v --alluredir=allure-report -m='not low' --reruns=2
46+
uv run --no-config pytest tests/web_tests --platform ios --driver safari -v --alluredir=allure-report --reruns=2 -m='not low'
4047
continue-on-error: true
4148

4249
- name: Teardown (Allure Report and Error Handling)
4350
if: ${{ steps.tests.outcome == 'failure' }}
4451
uses: ./.github/actions/teardown
4552
with:
4653
browser-name: "safari"
47-
tox-env: "38"
4854
engine: "appium"

.github/workflows/playwright_tests.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ on:
44
push:
55
branches:
66
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/static_tests/**'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
714

815
jobs:
916
playwright-docker:
@@ -38,13 +45,12 @@ jobs:
3845
- name: Run Playwright ${{ matrix.browser-name }} tests with py${{ matrix.python-version }}
3946
id: tests
4047
run: |
41-
tox -e py${{ steps.setup.outputs.tox-env }}-playwright-${{ matrix.browser-name }} -- --headless -v --alluredir=allure-report --reruns=2
48+
uv run --no-config pytest tests/web_tests --platform playwright --driver ${{ matrix.browser-name }} --headless -v --alluredir=allure-report --reruns=2
4249
continue-on-error: true
4350

4451
- name: Teardown (Allure Report and Error Handling)
4552
if: ${{ steps.tests.outcome == 'failure' }}
4653
uses: ./.github/actions/teardown
4754
with:
4855
browser-name: ${{ matrix.browser-name }}
49-
tox-env: ${{ steps.setup.outputs.tox-env }}
5056
engine: "playwright"
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Publish to PyPI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
publish:
10+
name: Upload to PyPI
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout Repository
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Environment
18+
id: setup
19+
uses: ./.github/actions/setup
20+
with:
21+
python-version: '3.8'
22+
23+
- name: Build package
24+
run: uv build
25+
26+
- name: Publish package to PyPI
27+
run: |
28+
uv publish --token ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/selenium_safari_tests.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@ name: Selenium Safari Tests
33
on:
44
push:
55
branches:
6-
- '**' # Trigger on push to any branch
7-
6+
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/static_tests'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
814
jobs:
915
selenium-safari:
1016
runs-on: macos-13
@@ -24,21 +30,15 @@ jobs:
2430
with:
2531
python-version: ${{ matrix.python-version }}
2632

27-
- name: Enable Safari Remote Automation
28-
run: |
29-
safaridriver --version
30-
sudo safaridriver --enable
31-
3233
- name: Run Selenium Safari tests with py${{ matrix.python-version }}
3334
id: tests
3435
run: |
35-
tox -e py${{ steps.setup.outputs.tox-env }}-selenium-safari -- -v --alluredir=allure-report --reruns=2 -m='not low'
36+
uv run --no-config pytest tests/web_tests --platform selenium --driver safari -v --alluredir=allure-report --reruns=2 -m='not low'
3637
continue-on-error: true
3738

3839
- name: Teardown (Allure Report and Error Handling)
3940
if: ${{ steps.tests.outcome == 'failure' }}
4041
uses: ./.github/actions/teardown
4142
with:
4243
browser-name: "safari"
43-
tox-env: ${{ steps.setup.outputs.tox-env }}
4444
engine: "selenium"

.github/workflows/selenium_tests.yml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ name: Selenium Selenoid Tests
33
on:
44
push:
55
branches:
6-
- '**' # Trigger on push to any branch
6+
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/static_tests/**'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
714

815
jobs:
916
selenium-selenoid:
@@ -40,13 +47,12 @@ jobs:
4047
- name: Run Selenium ${{ env.BROWSER }} tests with py${{ matrix.python-version }}
4148
id: tests
4249
run: |
43-
tox -e py${{ steps.setup.outputs.tox-env }}-selenium-${{ env.BROWSER }} -- --env remote --headless -v --alluredir=allure-report --reruns=2
50+
uv run --no-config pytest tests/web_tests --platform selenium --driver ${{ env.BROWSER }} --env remote --headless -v --alluredir=allure-report --reruns=2
4451
continue-on-error: true
4552

4653
- name: Teardown (Allure Report and Error Handling)
4754
if: ${{ steps.tests.outcome == 'failure' }}
4855
uses: ./.github/actions/teardown
4956
with:
5057
browser-name: ${{ env.BROWSER }}
51-
tox-env: ${{ steps.setup.outputs.tox-env }}
5258
engine: "selenium"

.github/workflows/static_tests.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ name: Static Tests
33
on:
44
push:
55
branches:
6-
- '**' # Trigger on push to any branch
6+
- '**'
7+
paths-ignore:
8+
- 'docs/**'
9+
- 'tests/web_tests/**'
10+
- 'README.md'
11+
- 'CHANGELOG.md'
12+
- 'LICENSE'
13+
- '.gitignore'
714

815
jobs:
916
static:
@@ -26,4 +33,4 @@ jobs:
2633

2734
- name: Run Static tests with ${{ matrix.python-version }}
2835
run: |
29-
tox -e py${{ steps.setup.outputs.tox-env }}-static
36+
uv run --no-config pytest tests/static_tests

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ pip-delete-this-directory.txt
4444

4545
# Unit test / coverage reports
4646
htmlcov/
47-
.tox/
4847
.nox/
4948
.coverage
5049
.coverage.*

0 commit comments

Comments
 (0)