From 4f5cf5fd3db6de7ea02f553dfa5cd3e453a228ed Mon Sep 17 00:00:00 2001 From: keisuke-umezawa Date: Sun, 4 Jun 2023 15:00:25 +0900 Subject: [PATCH 1/6] Add settings for playwright-pytest --- .github/workflows/e2e-tests.yml | 50 +++++++++++++++++++++++++++++ e2e_tests/visual_regression_test.py | 21 ++++++++++++ requirements.txt | 1 + 3 files changed, 72 insertions(+) create mode 100644 .github/workflows/e2e-tests.yml create mode 100644 e2e_tests/visual_regression_test.py diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml new file mode 100644 index 00000000..8ffa920a --- /dev/null +++ b/.github/workflows/e2e-tests.yml @@ -0,0 +1,50 @@ +name: integration-tests +on: + pull_request: + branches: + - main + paths: + - '.github/workflows/integration-tests.yml' + - '**.py' + - '**.ts' + - '**.tsx' + - 'package.json' + - 'package-lock.json' + - 'tsconfig.json' +jobs: + test: + runs-on: ubuntu-20.04 + strategy: + matrix: + optuna-version: ['optuna==2.10.0', 'git+https://github.com/optuna/optuna.git'] + steps: + - uses: actions/checkout@v2 + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: '16' + - run: npm install + - run: npm run build:dev + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + architecture: x64 + + - name: Setup Optuna ${{ matrix.optuna-version }} + run: | + python -m pip install --progress-bar off --upgrade pip setuptools + python -m pip install --progress-bar off --upgrade ${{ matrix.optuna-version }} + + - name: Install dependencies + run: | + python -m pip install --progress-bar off . + python -m pip install --progress-bar off pytest-playwright + + - name: Install the required browsers + run: playwright install + + - name: Run e2e tests + run: pytest e2e_tests diff --git a/e2e_tests/visual_regression_test.py b/e2e_tests/visual_regression_test.py new file mode 100644 index 00000000..5f108179 --- /dev/null +++ b/e2e_tests/visual_regression_test.py @@ -0,0 +1,21 @@ +import re +from playwright.sync_api import Page, expect + + +def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page(page: Page): + page.goto("https://playwright.dev/") + + # Expect a title "to contain" a substring. + expect(page).to_have_title(re.compile("Playwright")) + + # create a locator + get_started = page.get_by_role("link", name="Get started") + + # Expect an attribute "to be strictly equal" to the value. + expect(get_started).to_have_attribute("href", "/docs/intro") + + # Click the get started link. + get_started.click() + + # Expects the URL to contain intro. + expect(page).to_have_url(re.compile(".*intro")) diff --git a/requirements.txt b/requirements.txt index 25c37877..daab987f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,7 @@ moto[s3] # visual regression tests pyppeteer +pytest-playwright # docs sphinx From 0f5f9e99059387aea96f19e2d064839348d2f3ea Mon Sep 17 00:00:00 2001 From: keisuke-umezawa Date: Sun, 4 Jun 2023 15:59:14 +0900 Subject: [PATCH 2/6] Fix lint --- .github/workflows/e2e-tests.yml | 2 +- e2e_tests/visual_regression_test.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 8ffa920a..7dce2d2e 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -1,4 +1,4 @@ -name: integration-tests +name: e2e-tests on: pull_request: branches: diff --git a/e2e_tests/visual_regression_test.py b/e2e_tests/visual_regression_test.py index 5f108179..b3b79133 100644 --- a/e2e_tests/visual_regression_test.py +++ b/e2e_tests/visual_regression_test.py @@ -2,7 +2,9 @@ import re from playwright.sync_api import Page, expect -def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page(page: Page): +def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page( + page: Page, +): page.goto("https://playwright.dev/") # Expect a title "to contain" a substring. From 6992f8b41bba5868b15d8cf49bc786cf05893ba9 Mon Sep 17 00:00:00 2001 From: keisuke-umezawa Date: Sun, 4 Jun 2023 16:02:46 +0900 Subject: [PATCH 3/6] Fix isort --- e2e_tests/visual_regression_test.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/e2e_tests/visual_regression_test.py b/e2e_tests/visual_regression_test.py index b3b79133..c5f8375c 100644 --- a/e2e_tests/visual_regression_test.py +++ b/e2e_tests/visual_regression_test.py @@ -1,5 +1,7 @@ import re -from playwright.sync_api import Page, expect + +from playwright.sync_api import expect +from playwright.sync_api import Page def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page( From 93f606a5db9ee0072c5ce1788aae72091b12b903 Mon Sep 17 00:00:00 2001 From: keisuke-umezawa Date: Sun, 4 Jun 2023 16:03:26 +0900 Subject: [PATCH 4/6] Fix mypy --- e2e_tests/visual_regression_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e_tests/visual_regression_test.py b/e2e_tests/visual_regression_test.py index c5f8375c..ac7f10df 100644 --- a/e2e_tests/visual_regression_test.py +++ b/e2e_tests/visual_regression_test.py @@ -6,7 +6,7 @@ from playwright.sync_api import Page def test_homepage_has_Playwright_in_title_and_get_started_link_linking_to_the_intro_page( page: Page, -): +) -> None: page.goto("https://playwright.dev/") # Expect a title "to contain" a substring. From fe6253f83fd02fd2634854693400b53134bba7b1 Mon Sep 17 00:00:00 2001 From: keisuke-umezawa Date: Sun, 11 Jun 2023 16:24:43 +0900 Subject: [PATCH 5/6] Update python version from 3.8 to 3.10 --- .github/workflows/e2e-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 7dce2d2e..0c52fec4 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' architecture: x64 - name: Setup Optuna ${{ matrix.optuna-version }} From d1503df5eb69efc902044106426c41d2d9560c39 Mon Sep 17 00:00:00 2001 From: keisuke umezawa Date: Tue, 13 Jun 2023 09:51:42 +0900 Subject: [PATCH 6/6] Update .github/workflows/e2e-tests.yml Co-authored-by: c-bata --- .github/workflows/e2e-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 0c52fec4..4665f676 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -4,7 +4,7 @@ on: branches: - main paths: - - '.github/workflows/integration-tests.yml' + - '.github/workflows/e2e-tests.yml' - '**.py' - '**.ts' - '**.tsx'