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

From Akshay Joshi
Subject Re: [pgAdmin4][Patch] Feature #3270 Add support for runningregression tests against Firefox
Date
Msg-id CANxoLDcX2Qw60JS2uMkkE+HEguds=gLmzAM=9B3WCXp=OCMWkA@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>)
Responses Re: [pgAdmin4][Patch] Feature #3270 Add support for running regression tests against Firefox
List pgadmin-hackers
Hi Hackers,

On Mon, Apr 23, 2018 at 9:07 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. 

   Yes I have faced the same problem in Ubuntu. As per suggestion by Dave I have added parameter in test_config.json.in and also include the above code given by Anthony.
   Attached is the modified patch.  


- 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




--
Akshay Joshi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 976-788-8246
Attachment

pgadmin-hackers by date:

Previous
From: Anthony Emengo
Date:
Subject: Re: [pgAdmin4][Patch] Feature #3270 Add support for runningregression tests against Firefox
Next
From: Murtuza Zabuawala
Date:
Subject: Re: [pgAdmin4][RM#3155] Allow user to lock the Layout