Re: pgAdmin 4 commit: Fix the feature tests failuers. - Mailing list pgadmin-hackers

From Harshal Dhumal
Subject Re: pgAdmin 4 commit: Fix the feature tests failuers.
Date
Msg-id CAFiP3vwdYoYhbmQbSaWUKB4+O7AYQE-qwFdcHPFR5M+Cufa+4g@mail.gmail.com
Whole thread Raw
In response to Re: pgAdmin 4 commit: Fix the feature tests failuers.  (Ashesh Vashi <ashesh.vashi@enterprisedb.com>)
Responses Re: pgAdmin 4 commit: Fix the feature tests failuers.  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
Hi Ashesh,

I ran feature test case on mac couple times however I didn't get failure which Dave and you got.
In my case feature test cases mostly falling in xxs_debugger test case.

This was because as when we configure database sever to debug functions it adds 21 its own functions in database and when we run this feature test, it adds one more function (with name test_function) to actually debug it.
But due to its name (test_function) it appears at bottom in visible area of browser and some times
selenium fails to click on that element. To overcome this I have renamed test function name from test_function
to a_test_function so that it will appear at top position under function collection node (patch attached).


-- 
Harshal Dhumal
Sr. Software Engineer

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

On Fri, Aug 25, 2017 at 9:11 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
On Fri, Aug 25, 2017 at 8:26 PM, Dave Page <dpage@pgadmin.org> wrote:
QueryToolFeatureTest seems to be failing on both Jenkins and my test mac system since this was applied. The other one below seems more intermittent.

======================================================================
ERROR: runTest (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest)
Query tool feature test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", line 84, in runTest
    self._query_tool_explain_cost()
  File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_tests.py", line 361, in _query_tool_explain_cost
    canvas.find_element_by_xpath("//*[contains(string(),'Total Cost')]")
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 260, in find_element_by_xpath
    return self.find_element(by=By.XPATH, value=xpath)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 510, in find_element
    {"using": by, "value": value})['value']
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
    return self._parent.execute(command, params)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 249, in execute
    self.error_handler.check_response(response)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response
    raise exception_class(message, screen, stacktrace)
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[contains(string(),'Total Cost')]"} 
  (Session info: chrome=60.0.3112.101)
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.11.6 x86_64)


======================================================================
ERROR: runTest (pgadmin.feature_tests.view_data_dml_queries.CheckForViewDataTest)
Validate Insert, Update operations in View/Edit data with given test data
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_data_dml_queries.py", line 107, in runTest
    self._verify_row_data(True)
  File "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/view_data_dml_queries.py", line 291, in _verify_row_data
    result_row = self.page.find_by_xpath(xpath)
  File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 148, in find_by_xpath
    return self.wait_for_element(lambda driver: driver.find_element_by_xpath(xpath))
  File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 232, in wait_for_element
    return self._wait_for("element to exist", element_if_it_exists)
  File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 282, in _wait_for
    "Timed out waiting for " + waiting_for_message)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/support/wait.py", line 71, in until
    value = method(self._driver)
  File "/Users/dpage/git/pgadmin4/web/regression/feature_utils/pgadmin_page.py", line 227, in element_if_it_exists
    if element.is_displayed() and element.is_enabled():
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 157, in is_enabled
    return self._execute(Command.IS_ELEMENT_ENABLED)['value']
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
    return self._parent.execute(command, params)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 249, in execute
    self.error_handler.check_response(response)
  File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 193, in check_response
    raise exception_class(message, screen, stacktrace)
StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: chrome=60.0.3112.101)
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.11.6 x86_64)
There is nothing changed in these areas.
I will investigate more.

-- Thanks, Ashesh 

On Fri, Aug 25, 2017 at 12:46 PM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
Fix the feature tests failuers.

Branch
------
master

Details
-------
https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=5dd375dd2081c126b7b3b9f0dba21976d2a45a1f
Author: Wenlin Zhang <wzhang@pivotal.io>

Modified Files
--------------
web/pgadmin/feature_tests/query_tool_journey_test.py |  7 -------
web/pgadmin/feature_tests/query_tool_tests.py        | 10 +++++-----
2 files changed, 5 insertions(+), 12 deletions(-)




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

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


Attachment

pgadmin-hackers by date:

Previous
From: Akshay Joshi
Date:
Subject: Re: [pgAdmin4][Patch]: Allow user to cancel long running queries from dashboard
Next
From: Dave Page
Date:
Subject: Re: pgAdmin 4 commit: Fix the feature tests failuers.