Hi Dave, The tests pass on my device normally. I am using Python 3.6 on Ubuntu. I have ran all tests using "make check" and they all succeeded. I also ran feature_tests/query_tool_journey_test.py multiple times on its own using "cd web && python regression/runtests.py --pkg feature_tests --modules query_tool_journey_test" and it passed successfully. Could you try again?
Generally, I have found that StaleElementReferenceException occurs intermittently on various feature tests. On Fri, Aug 23, 2019 at 3:46 PM Dave Page <dp...@pgadmin.org> wrote: > Thanks. Unfortunately this is failing the tests: > > ====================================================================== > ERROR: runTest > (pgadmin.feature_tests.query_tool_journey_test.QueryToolJourneyTest) > Tests the path through the query tool > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", > line 85, in runTest > self._test_updatable_resultset() > File > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", > line 254, in _test_updatable_resultset > discard_changes_modal=True) > File > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", > line 417, in _check_query_results_editable > is_editable = self._check_cell_editable(column_index) > File > "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/query_tool_journey_test.py", > line 430, in _check_cell_editable > cell_value = int(cell_el.text) > File > "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", > line 76, in text > return self._execute(Command.GET_ELEMENT_TEXT)['value'] > File > "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webelement.py", > line 628, in _execute > return self._parent.execute(command, params) > File > "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", > line 312, in execute > self.error_handler.check_response(response) > File > "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", > line 242, in check_response > raise exception_class(message, screen, stacktrace) > selenium.common.exceptions.StaleElementReferenceException: Message: stale > element reference: element is not attached to the page document > (Session info: chrome=76.0.3809.100) > (Driver info: chromedriver=76.0.3809.126 > (d80a294506b4c9d18015e755cee48f953ddc3f2f-refs/branch-heads/3809@{#1024}),platform=Mac > OS X 10.14.5 x86_64) > > Without the patch, the tests pass. > > > On Fri, Aug 23, 2019 at 1:10 PM Yosry Muhammad <yosry...@gmail.com> wrote: > >> Please find an updated patch attached. >> >> On Fri, Aug 23, 2019 at 1:22 PM Dave Page <dp...@pgadmin.org> wrote: >> >>> Except it now doesn't apply as the async connection/rendering patch was >>> in the queue right ahead of it :-(. >>> >>> Can I get a rebased patch please? >>> >>> On Fri, Aug 23, 2019 at 11:57 AM Aditya Toshniwal < >>> aditya.toshni...@enterprisedb.com> wrote: >>> >>>> Excellent !! Looks good to me. >>>> >>>> On Fri, Aug 23, 2019 at 2:23 PM Yosry Muhammad <yosry...@gmail.com> >>>> wrote: >>>> >>>>> I updated the patch for backwards compatibility anyway. >>>>> >>>>> On Fri, Aug 23, 2019 at 10:45 AM Dave Page <dp...@pgadmin.org> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Fri, Aug 23, 2019 at 9:43 AM Yosry Muhammad <yosry...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Aditya, >>>>>>> >>>>>>> On Fri, Aug 23, 2019 at 7:33 AM Aditya Toshniwal < >>>>>>> aditya.toshni...@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Yosry, >>>>>>>> >>>>>>>> The previously mentioned issues seems to be fixed. Below are few >>>>>>>> issues: >>>>>>>> 1) On Python 2.7, I get below error when opening query tool: >>>>>>>> 2019-08-23 10:49:09,329: ERROR flask.app: Object of type buffer is >>>>>>>> not JSON serializable >>>>>>>> Traceback (most recent call last): >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask/app.py", >>>>>>>> line 1813, in full_dispatch_request >>>>>>>> rv = self.dispatch_request() >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask/app.py", >>>>>>>> line 1799, in dispatch_request >>>>>>>> return self.view_functions[rule.endpoint](**req.view_args) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/flask_login/utils.py", >>>>>>>> line 261, in decorated_view >>>>>>>> return func(*args, **kwargs) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py", >>>>>>>> line 1544, in get_query_history >>>>>>>> return QueryHistory.get(current_user.id, trans_obj.sid, >>>>>>>> conn.db) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/utils/query_history.py", >>>>>>>> line 21, in get >>>>>>>> 'result': [rec.query_info for rec in result] >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/utils/ajax.py", >>>>>>>> line >>>>>>>> 75, in make_json_response >>>>>>>> separators=(',', ':'), encoding=encoding), >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/__init__.py", >>>>>>>> line 399, in dumps >>>>>>>> **kw).encode(obj) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>>> line 296, in encode >>>>>>>> chunks = self.iterencode(o, _one_shot=True) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>>> line 378, in iterencode >>>>>>>> return _iterencode(o, 0) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/utils/ajax.py", >>>>>>>> line >>>>>>>> 30, in default >>>>>>>> return json.JSONEncoder.default(self, obj) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg27/lib/python2.7/site-packages/simplejson/encoder.py", >>>>>>>> line 273, in default >>>>>>>> o.__class__.__name__) >>>>>>>> TypeError: Object of type buffer is not JSON serializable >>>>>>>> >>>>>>> >>>>>>> This error exists on the master branch on Python 2.7, it is not >>>>>>> caused by the patch. It is also not a regression of my previous Query >>>>>>> History Enhancement patch, I checked. >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> 2) The patch is not compatible with older pyscopg2 (2.7.7). I get >>>>>>>> below error in View/Edit data. >>>>>>>> [image: Screenshot 2019-08-23 at 10.53.30.png] >>>>>>>> 2019-08-23 10:53:12,020: ERROR flask.app: 'table_column' >>>>>>>> Traceback (most recent call last): >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask/app.py", >>>>>>>> line 1813, in full_dispatch_request >>>>>>>> rv = self.dispatch_request() >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask/app.py", >>>>>>>> line 1799, in dispatch_request >>>>>>>> return self.view_functions[rule.endpoint](**req.view_args) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/venv/pypg35/lib/python3.5/site-packages/flask_login/utils.py", >>>>>>>> line 261, in decorated_view >>>>>>>> return func(*args, **kwargs) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/__init__.py", >>>>>>>> line 435, in poll >>>>>>>> columns = trans_obj.get_columns_types(conn) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/command.py", >>>>>>>> line 688, in get_columns_types >>>>>>>> table_oid=table_oid) >>>>>>>> File >>>>>>>> "/Users/adityatoshniwal/projects/pgadmin4/web/pgadmin/tools/sqleditor/utils/get_column_types.py", >>>>>>>> line 38, in get_columns_types >>>>>>>> if row['oid'] == col['table_column']: >>>>>>>> KeyError: 'table_column' >>>>>>>> >>>>>>> >>>>>>> I recall Dave mentioning that it is okay to use psycopg 2.8+ >>>>>>> features and that it was a requirement of pgAdmin 4 now (clearly >>>>>>> mentioned >>>>>>> in requirements.txt too). >>>>>>> >>>>>> >>>>>> I did - then we had the whole table_oid issue on Debian/Ubuntu :-( >>>>>> >>>>>> >>>>>>> However, I updated the patch for backwards compatibility. Please >>>>>>> find an updated patch attached. >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Yosry Muhammad Yosry* >>>>>>> >>>>>>> Computer Engineering student, >>>>>>> The Faculty of Engineering, >>>>>>> Cairo University (2021). >>>>>>> Class representative of CMP 2021. >>>>>>> https://www.linkedin.com/in/yosrym93/ >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Yosry Muhammad Yosry* >>>>> >>>>> Computer Engineering student, >>>>> The Faculty of Engineering, >>>>> Cairo University (2021). >>>>> Class representative of CMP 2021. >>>>> https://www.linkedin.com/in/yosrym93/ >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> *Yosry Muhammad Yosry* >> >> Computer Engineering student, >> The Faculty of Engineering, >> Cairo University (2021). >> Class representative of CMP 2021. >> https://www.linkedin.com/in/yosrym93/ >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- *Yosry Muhammad Yosry* Computer Engineering student, The Faculty of Engineering, Cairo University (2021). Class representative of CMP 2021. https://www.linkedin.com/in/yosrym93/