From 1cd733b0188acb40cfccaf017589ead74cf5e8dd Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Thu, 1 Aug 2024 14:35:55 +0700 Subject: [PATCH 1/7] Init --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index fe6d3ea6f..6ae04f668 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -221,7 +221,7 @@ services: # Chrome container, used for browser testing. chrome: - image: selenium/standalone-chrome:111.0 + image: selenium/standalone-chrome:latest shm_size: '1gb' # Increase '/dev/shm' partition size to avoid browser crashing. <<: *default-volumes # Use default volumes to provide access to test fixtures. environment: From 4cb44d91fd8d763653c5f22420b2e3b82062d8f4 Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Thu, 1 Aug 2024 16:29:26 +0700 Subject: [PATCH 2/7] Adding mink selenium2 driver from lullabot --- composer.json | 1 + docker-compose.override.default.yml | 2 +- docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 6f756c0f2..5a8e0744c 100644 --- a/composer.json +++ b/composer.json @@ -36,6 +36,7 @@ "drupal/core-dev": "~10.3.0", "drupal/drupal-extension": "^5", "ergebnis/composer-normalize": "^2.42", + "lullabot/mink-selenium2-driver": "^1.7", "mglaman/phpstan-drupal": "^1.2", "palantirnet/drupal-rector": "^0.20", "phpcompatibility/php-compatibility": "^9.3", diff --git a/docker-compose.override.default.yml b/docker-compose.override.default.yml index 92da5b1ce..0c2d4a0a1 100644 --- a/docker-compose.override.default.yml +++ b/docker-compose.override.default.yml @@ -6,4 +6,4 @@ services: chrome: # Chrome image with Apple M1 support. - image: seleniarm/standalone-chromium:111.0 + image: seleniarm/standalone-chromium:124.0 diff --git a/docker-compose.yml b/docker-compose.yml index 6ae04f668..3881401de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -221,7 +221,7 @@ services: # Chrome container, used for browser testing. chrome: - image: selenium/standalone-chrome:latest + image: selenium/standalone-chrome:127.0 shm_size: '1gb' # Increase '/dev/shm' partition size to avoid browser crashing. <<: *default-volumes # Use default volumes to provide access to test fixtures. environment: From 3a6ea25f10512c1fdf272a8eb09e31d8ac525add Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Fri, 2 Aug 2024 14:22:40 +0700 Subject: [PATCH 3/7] Remove lullabot selenium2driver --- composer.json | 1 - 1 file changed, 1 deletion(-) diff --git a/composer.json b/composer.json index 5a8e0744c..6f756c0f2 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,6 @@ "drupal/core-dev": "~10.3.0", "drupal/drupal-extension": "^5", "ergebnis/composer-normalize": "^2.42", - "lullabot/mink-selenium2-driver": "^1.7", "mglaman/phpstan-drupal": "^1.2", "palantirnet/drupal-rector": "^0.20", "phpcompatibility/php-compatibility": "^9.3", From 684974736780adcff1b246a244e95596c8ec99b5 Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Tue, 6 Aug 2024 09:30:51 +0700 Subject: [PATCH 4/7] Make setup mink easy to read and update selemium standalone to latest. --- behat.yml | 11 +++++++---- docker-compose.override.default.yml | 2 +- docker-compose.yml | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/behat.yml b/behat.yml index e7f0bb225..f934eed95 100644 --- a/behat.yml +++ b/behat.yml @@ -24,12 +24,15 @@ default: extensions: Drupal\MinkExtension: - browserkit_http: ~ base_url: http://nginx:8080 files_path: '%paths.base%/tests/behat/fixtures' - browser_name: chrome - selenium2: - wd_host: "http://chrome:4444/wd/hub" + sessions: + default: + browserkit_http: ~ + selenium2: + selenium2: + browser: 'chrome' + wd_host: "http://chrome:4444/wd/hub" javascript_session: selenium2 # Provides integration with Drupal APIs. Drupal\DrupalExtension: diff --git a/docker-compose.override.default.yml b/docker-compose.override.default.yml index 0c2d4a0a1..a33293cd5 100644 --- a/docker-compose.override.default.yml +++ b/docker-compose.override.default.yml @@ -6,4 +6,4 @@ services: chrome: # Chrome image with Apple M1 support. - image: seleniarm/standalone-chromium:124.0 + image: seleniarm/standalone-chromium:latest diff --git a/docker-compose.yml b/docker-compose.yml index 3881401de..6ae04f668 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -221,7 +221,7 @@ services: # Chrome container, used for browser testing. chrome: - image: selenium/standalone-chrome:127.0 + image: selenium/standalone-chrome:latest shm_size: '1gb' # Increase '/dev/shm' partition size to avoid browser crashing. <<: *default-volumes # Use default volumes to provide access to test fixtures. environment: From 895bf0053f7e2329da7f42a26183ed49a7b93e5b Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Tue, 6 Aug 2024 09:52:08 +0700 Subject: [PATCH 5/7] Update login feature to test default session --- behat.yml | 3 ++- tests/behat/features/login.feature | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/behat.yml b/behat.yml index f934eed95..001bb94a4 100644 --- a/behat.yml +++ b/behat.yml @@ -31,8 +31,9 @@ default: browserkit_http: ~ selenium2: selenium2: - browser: 'chrome' + browser: chrome wd_host: "http://chrome:4444/wd/hub" + default_session: default javascript_session: selenium2 # Provides integration with Drupal APIs. Drupal\DrupalExtension: diff --git a/tests/behat/features/login.feature b/tests/behat/features/login.feature index d006637a6..6e8eff04c 100644 --- a/tests/behat/features/login.feature +++ b/tests/behat/features/login.feature @@ -3,6 +3,11 @@ Feature: Login Ensure that user can login. + Scenario: Login form is available. + Given I visit "/user/login" + Then I should see an "form#user-login-form" element + Then I save screenshot + @api Scenario: Administrator user logs in Given I am logged in as a user with the "administer site configuration, access administration pages" permissions From b1ed943ce75e6b4b76f3d971df6881a8696d4dbf Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Tue, 6 Aug 2024 09:56:23 +0700 Subject: [PATCH 6/7] Pin specific version for selenium standalone chromium --- docker-compose.override.default.yml | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.override.default.yml b/docker-compose.override.default.yml index a33293cd5..0c2d4a0a1 100644 --- a/docker-compose.override.default.yml +++ b/docker-compose.override.default.yml @@ -6,4 +6,4 @@ services: chrome: # Chrome image with Apple M1 support. - image: seleniarm/standalone-chromium:latest + image: seleniarm/standalone-chromium:124.0 diff --git a/docker-compose.yml b/docker-compose.yml index 6ae04f668..3881401de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -221,7 +221,7 @@ services: # Chrome container, used for browser testing. chrome: - image: selenium/standalone-chrome:latest + image: selenium/standalone-chrome:127.0 shm_size: '1gb' # Increase '/dev/shm' partition size to avoid browser crashing. <<: *default-volumes # Use default volumes to provide access to test fixtures. environment: From 7882dfd1576c00026faad75a91932f754586f7cc Mon Sep 17 00:00:00 2001 From: "tan.nguyen" Date: Tue, 6 Aug 2024 10:14:19 +0700 Subject: [PATCH 7/7] Move from selniarm to seleinum as the project was merged --- docker-compose.override.default.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-compose.override.default.yml b/docker-compose.override.default.yml index 0c2d4a0a1..ff2cc0208 100644 --- a/docker-compose.override.default.yml +++ b/docker-compose.override.default.yml @@ -5,5 +5,4 @@ services: chrome: - # Chrome image with Apple M1 support. - image: seleniarm/standalone-chromium:124.0 + image: selenium/standalone-chrome:124.0