diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 31f3655..775b02c 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 @@ -47,14 +47,13 @@ jobs: path: ~/.nimble key: ${{ runner.os }}-nimble-${{ hashFiles('*.nimble') }} - - name: Install geckodriver + - name: Install tools 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 + sudo apt-get install autoconf libtool libsass-dev xvfb + + - name: Install chromedriver + uses: nanasess/setup-chromedriver@v2 - name: Install choosenim run: | diff --git a/tests/browsertester.nim b/tests/browsertester.nim index 8b6c046..a925981 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 @@ -47,21 +47,21 @@ 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:9515 --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: - let driver = newWebDriver() - let session = driver.createSession() + 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: scenario1.test(session, baseUrl)