From 3a401a73f473b58c30d63b683619988ccd695762 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 16:42:31 +0800 Subject: [PATCH 01/15] switch to chromedriver --- .github/workflows/main.yml | 10 +++++----- tests/browsertester.nim | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3df9be54..882ce5ec 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,14 +47,14 @@ jobs: path: ~/.nimble key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }} - - name: Install geckodriver + - name: Install chromedriver run: | sudo apt-get -qq update sudo apt-get install autoconf libtool libsass-dev - wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux64.tar.gz - mkdir geckodriver - tar -xzf geckodriver-v0.32.0-linux64.tar.gz -C geckodriver - export PATH=$PATH:$PWD/geckodriver + wget https://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_linux64.zip + mkdir chromedriver + tar -xzf chromedriver_linux64.zip -C chromedriver + export PATH=$PATH:$PWD/chromedriver - name: Install choosenim run: | diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 8b6c0469..a7b86fe3 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -47,16 +47,16 @@ import browsertests/[scenario1, threads, issue181, categories] proc main() = # Kill any already running instances - discard execCmd("killall geckodriver") - spawn runProcess("geckodriver -p 4444 --log config") + discard execCmd("killall chromedriver") + spawn runProcess("chromedriver --port=4444 --log-level=DEBUG") defer: - discard execCmd("killall geckodriver") + discard execCmd("killall chromedriver") # Create a fresh DB for the tester. doAssert(execCmd("nimble testdb") == QuitSuccess) doAssert(execCmd("nimble -y frontend") == QuitSuccess) - echo("Waiting for geckodriver to startup...") + echo("Waiting for chromedriver to startup...") sleep(5000) try: From 1c5d45bb5eb9333dfd293fd2f07c8f2aca2ca5a9 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 16:46:46 +0800 Subject: [PATCH 02/15] Update .github/workflows/main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 882ce5ec..620cbddb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,7 @@ jobs: sudo apt-get install autoconf libtool libsass-dev wget https://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_linux64.zip mkdir chromedriver - tar -xzf chromedriver_linux64.zip -C chromedriver + unzip chromedriver_linux64.zip -d chromedriver export PATH=$PATH:$PWD/chromedriver - name: Install choosenim From a8abb75560b070326f4b8f1bc01c4793ba5ec7de Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:02:17 +0800 Subject: [PATCH 03/15] bump --- nimforum.nimble | 2 +- tests/browsertester.nim | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nimforum.nimble b/nimforum.nimble index 02627536..c7556817 100644 --- a/nimforum.nimble +++ b/nimforum.nimble @@ -22,7 +22,7 @@ requires "sass#649e0701fa5c" requires "karax#45bac6b" -requires "webdriver#429933a" +requires "webdriver#699d3b9" # Tasks diff --git a/tests/browsertester.nim b/tests/browsertester.nim index a7b86fe3..4227e535 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -1,4 +1,4 @@ -import options, osproc, streams, threadpool, os, strformat, httpclient +import std/[options, osproc, streams, threadpool, os, strformat, httpclient, json] import webdriver @@ -61,7 +61,7 @@ proc main() = try: let driver = newWebDriver() - let session = driver.createSession() + let session = driver.createSession(%*{"capabilities": {"browserName": "chrome"}}) withBackend: scenario1.test(session, baseUrl) From 76af77d7f6a41cd3b4633ef3b6ab05faddb4e757 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:09:11 +0800 Subject: [PATCH 04/15] Update tests/browsertester.nim --- tests/browsertester.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 4227e535..133bf2d5 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -48,7 +48,7 @@ import browsertests/[scenario1, threads, issue181, categories] proc main() = # Kill any already running instances discard execCmd("killall chromedriver") - spawn runProcess("chromedriver --port=4444 --log-level=DEBUG") + spawn runProcess("chromedriver --port=4444 --no-sandbox --disable-dev-shm-usage --log-level=DEBUG") defer: discard execCmd("killall chromedriver") From 8148107b67219554f77c710bb061505f508761f5 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:20:42 +0800 Subject: [PATCH 05/15] try again --- tests/browsertester.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 133bf2d5..5afdfc19 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -48,7 +48,7 @@ import browsertests/[scenario1, threads, issue181, categories] proc main() = # Kill any already running instances discard execCmd("killall chromedriver") - spawn runProcess("chromedriver --port=4444 --no-sandbox --disable-dev-shm-usage --log-level=DEBUG") + spawn runProcess("chromedriver --port=4444 --log-level=DEBUG") defer: discard execCmd("killall chromedriver") @@ -61,7 +61,7 @@ proc main() = try: let driver = newWebDriver() - let session = driver.createSession(%*{"capabilities": {"browserName": "chrome"}}) + let session = driver.createSession(%*{"capabilities": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage"]}}}) withBackend: scenario1.test(session, baseUrl) From dc50535542b4ea30f0f72a49365a1169ff7dcf85 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:42:28 +0800 Subject: [PATCH 06/15] fixes cap --- tests/browsertester.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 5afdfc19..facee64f 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -61,7 +61,7 @@ proc main() = try: let driver = newWebDriver() - let session = driver.createSession(%*{"capabilities": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage"]}}}) + let session = driver.createSession(%*{"capabilities": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage", "disable-infobars", "--disable-extension"]}}}) withBackend: scenario1.test(session, baseUrl) From 08f340482d22da1c15b792d2396a3e8f112b1c96 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:54:39 +0800 Subject: [PATCH 07/15] sudo apt --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 620cbddb..12bf7fd5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,9 +26,9 @@ jobs: run: git submodule update --init --recursive - name: Setup Chrome - uses: browser-actions/setup-chrome@latest - with: - chrome-version: ${{ matrix.chrome }} + run: / + sudo apt-get -qq update + sudo apt-get install chromium-browser - name: Get Date id: get-date From 185c71560d0694cd706d23d79e1fb661c0197eff Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 17:55:47 +0800 Subject: [PATCH 08/15] typo --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 12bf7fd5..99197e86 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: run: git submodule update --init --recursive - name: Setup Chrome - run: / + run: | sudo apt-get -qq update sudo apt-get install chromium-browser From 16c77eaa2b0558f7bb834fec54502d036d6cbd61 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 18:19:27 +0800 Subject: [PATCH 09/15] build --- .github/workflows/main.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 99197e86..43972800 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,14 +47,13 @@ jobs: path: ~/.nimble key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }} - - name: Install chromedriver + - name: Install tools run: | sudo apt-get -qq update sudo apt-get install autoconf libtool libsass-dev - wget https://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_linux64.zip - mkdir chromedriver - unzip chromedriver_linux64.zip -d chromedriver - export PATH=$PATH:$PWD/chromedriver + + - name: Install chromedriver + uses: nanasess/setup-chromedriver@v1 - name: Install choosenim run: | From 5ca1e02f77b7a8eb5295aab4dcd2a15ef1c77def Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 18:30:06 +0800 Subject: [PATCH 10/15] install xvfb --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 43972800..ee691fd0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -50,7 +50,7 @@ jobs: - name: Install tools run: | sudo apt-get -qq update - sudo apt-get install autoconf libtool libsass-dev + sudo apt-get install autoconf libtool libsass-dev xvfb - name: Install chromedriver uses: nanasess/setup-chromedriver@v1 From 448feb4a043b50baec124914aabcc8a62a5cf926 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 18:54:29 +0800 Subject: [PATCH 11/15] add alwaysMatch --- tests/browsertester.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index facee64f..767a6a37 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -61,7 +61,7 @@ proc main() = try: let driver = newWebDriver() - let session = driver.createSession(%*{"capabilities": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage", "disable-infobars", "--disable-extension"]}}}) + let session = driver.createSession(%*{"capabilities": {"alwaysMatch": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage", "disable-infobars", "--disable-extension"]}}}}) withBackend: scenario1.test(session, baseUrl) From 2be954492f6fe58b059b81060b0a5b619264bf88 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 19:16:28 +0800 Subject: [PATCH 12/15] change port --- tests/browsertester.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 767a6a37..b9bf9191 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -48,7 +48,7 @@ import browsertests/[scenario1, threads, issue181, categories] proc main() = # Kill any already running instances discard execCmd("killall chromedriver") - spawn runProcess("chromedriver --port=4444 --log-level=DEBUG") + spawn runProcess("chromedriver --log-level=DEBUG") defer: discard execCmd("killall chromedriver") @@ -60,7 +60,7 @@ proc main() = sleep(5000) try: - let driver = newWebDriver() + let driver = newWebDriver(url = "http://localhost:9515") let session = driver.createSession(%*{"capabilities": {"alwaysMatch": {"browserName": "chrome", "goog:chromeOptions": {"args": ["--headless", "--no-sandbox", "--disable-dev-shm-usage", "disable-infobars", "--disable-extension"]}}}}) withBackend: From 14643545b487c0b9dea1ad971e83e9aa92ebc794 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 19:28:30 +0800 Subject: [PATCH 13/15] disable one line --- tests/browsertests/categories.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/browsertests/categories.nim b/tests/browsertests/categories.nim index 8c27a87a..2ba28a54 100644 --- a/tests/browsertests/categories.nim +++ b/tests/browsertests/categories.nim @@ -181,7 +181,7 @@ proc categoriesAdminTests(session: Session, baseUrl: string) = click "#add-category #add-category-btn" - checkText "#category-selection .selected-category", name + # checkText "#category-selection .selected-category", name test "can create category on category page": let From b024a9ae78b2b02cbe5e3da4ab4e8324a10f74bf Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Fri, 23 Dec 2022 19:35:15 +0800 Subject: [PATCH 14/15] check 9515 --- tests/browsertester.nim | 2 +- tests/browsertests/categories.nim | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/browsertester.nim b/tests/browsertester.nim index b9bf9191..a925981c 100644 --- a/tests/browsertester.nim +++ b/tests/browsertester.nim @@ -48,7 +48,7 @@ import browsertests/[scenario1, threads, issue181, categories] proc main() = # Kill any already running instances discard execCmd("killall chromedriver") - spawn runProcess("chromedriver --log-level=DEBUG") + spawn runProcess("chromedriver --port:9515 --log-level=DEBUG") defer: discard execCmd("killall chromedriver") diff --git a/tests/browsertests/categories.nim b/tests/browsertests/categories.nim index 2ba28a54..8c27a87a 100644 --- a/tests/browsertests/categories.nim +++ b/tests/browsertests/categories.nim @@ -181,7 +181,7 @@ proc categoriesAdminTests(session: Session, baseUrl: string) = click "#add-category #add-category-btn" - # checkText "#category-selection .selected-category", name + checkText "#category-selection .selected-category", name test "can create category on category page": let From eaa0f289afa5b8ade1b4c5cd8c6b3cb991f2eb97 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Mon, 16 Oct 2023 21:00:03 +0800 Subject: [PATCH 15/15] Update .github/workflows/main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5f526d0b..4b238041 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -53,7 +53,7 @@ jobs: sudo apt-get install autoconf libtool libsass-dev xvfb - name: Install chromedriver - uses: nanasess/setup-chromedriver@v1 + uses: nanasess/setup-chromedriver@v2 - name: Install choosenim run: |