Re: [pgAdmin4][Patch] Feature #3270 Add support for runningregression tests against Firefox - Mailing list pgadmin-hackers

From Dave Page
Subject Re: [pgAdmin4][Patch] Feature #3270 Add support for runningregression tests against Firefox
Date
Msg-id CA+OCxox5Noe_E92kyyamHkuGn1iL5oj-K5iYwyakijBJkHCx_Q@mail.gmail.com
Whole thread Raw
In response to Re: [pgAdmin4][Patch] Feature #3270 Add support for runningregression tests against Firefox  (Anthony Emengo <aemengo@pivotal.io>)
List pgadmin-hackers
Interestingly, the new CI system I'm putting together seems to be suffering from intermittent failures at the start of the feature tests as well. Chrome is trying to load the page before the server is ready to go, and then timing out and failing the first test.

On the plus side, the rest of the feature tests seem to be quite stable on this system :-D

On Mon, Apr 23, 2018 at 4:37 PM, Anthony Emengo <aemengo@pivotal.io> wrote:
We also tried running the tests with this patch. It didn't launch without some code changes and several tests were failing. We should really defer pulling this in until we have more robust results on Firefox

In order to have the tests running we had to do the following change:

diff --git a/web/regression/feature_utils/app_starter.py b/web/regression/feature_utils/app_starter.py
index 77b0400c..50d3e307 100644
--- a/web/regression/feature_utils/app_starter.py
+++ b/web/regression/feature_utils/app_starter.py
@@ -42,10 +44,18 @@ class AppStarter:
         )
 
         self.driver.set_window_size(1280, 1024)
-        self.driver.get(
-            "http://" + self.app_config.DEFAULT_SERVER + ":" +
-            random_server_port
-        )
+        # self.driver.implicitly_wait(60)
+
+        def launch_browser():
+            try:
+                self.driver.get(
+                    "http://" + self.app_config.DEFAULT_SERVER + ":" +
+                    random_server_port
+                )
+            except WebDriverException as e:
+                time.sleep(5)
+                launch_browser()
+        launch_browser()

This change was required because firefox was throwing an exception when we tried to get the address and the server was not running. We saw this behavior in Ubuntu. 


- Anthony and Joao

On Mon, Apr 23, 2018 at 9:12 AM, Dave Page <dpage@pgadmin.org> wrote:
Hi

On Mon, Apr 23, 2018 at 2:05 PM, Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Hackers,

I have added support for running feature tests against FireFox. For that user will have to download gecko driver from https://github.com/mozilla/geckodriver/releases and follow the below steps:
  • Extract the gecko driver.
  • Run chmod +x geckodriver.
  • Either copy the geckodriver to /usr/local/bin or the path of the geckodriver must be specified in PATH.
  • Apply the attached patch.
  • Change the parameter "DEFAULT_TEST_BROWSER = 'Firefox' "
  • Start the feature test.  
The config option needs to be in test_config.json. We don't really want test-specific config options in config.py (arguably, TEST_SQLITE_PATH shoudn't be there either, as it's useless for end users).

I'm surprised to not see any updates to tests. When I tried firefox manually a few weeks back, it was failing at lot.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company




--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgadmin4][patch] Initial patch to decouple from ACI Tree
Next
From: Khushboo Vashi
Date:
Subject: Re: JS Test error on Windows