Hi On Fri, Jun 16, 2017 at 2:07 AM, Dave Page <dp...@pgadmin.org> wrote:
> Hi > > On Thu, Jun 15, 2017 at 9:30 PM, Harshal Dhumal > <harshal.dhu...@enterprisedb.com> wrote: > > Hi Dave, > > > > Please find attached updated patch. > > > > On Thu, Jun 15, 2017 at 3:58 PM, Dave Page <dp...@pgadmin.org> wrote: > >> > >> Hi > >> > >> On Wed, Jun 14, 2017 at 11:36 PM, Harshal Dhumal > >> <harshal.dhu...@enterprisedb.com> wrote: > >>> > >>> Hi Dave, > >>> > >>> Please find rebased patch for RM2137. > >> > >> > >> Looking very good. The only issues I see are: > >> > >> - The row headers should auto-size such that they can display the row > >> numbers if the last row was displayed. E.g. if there are 12345 rows in > >> total, then the row header should be sized to display 5 digits. > >> > > Fixed. > > > > > >> > >> - The tests are comprehensive, which is awesome. However, every time I > ran > >> them, at least one of the feature tests failed. Unfortunately, it was a > >> different one each time. In the last two runs, I got: > >> > >> ====================================================================== > >> ERROR: runTest > >> (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) > >> Query tool feature test > >> ---------------------------------------------------------------------- > >> Traceback (most recent call last): > >> File > >> "/Users/dpage/git/pgadmin4/web/regression/feature_utils/ > base_feature_test.py", > >> line 40, in setUp > >> self.before() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/ > query_tool_tests.py", > >> line 40, in before > >> self._connects_to_server() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/ > query_tool_tests.py", > >> line 144, in _connects_to_server > >> self.page.driver.find_element_by_link_text("Create"))\ > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/remote/webdriver.py", > >> line 319, in find_element_by_link_text > >> return self.find_element(by=By.LINK_TEXT, value=link_text) > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/remote/webdriver.py", > >> line 756, in find_element > >> 'value': value})['value'] > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/remote/webdriver.py", > >> line 238, 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":"link text","selector":"Create"} > >> (Session info: chrome=58.0.3029.110) > >> (Driver info: chromedriver=2.29.461585 > >> (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.3 > x86_64) > >> > > I checked code from _connects_to_server function which is common in all > > features test cases. I didn't find anything wrong with this. If there is > a > > bug in this function then all feature test must fail. > > Let me know if you are getting failure consistently in > _connects_to_server > > function. > > I wondered if that one is a race condition. Do we need a short delay > before clicking the Object menu? I have seen this occasionally before. > OK. In that case let's try putting 1-2 second delay and observer behaviour. I'll send separate patch for this tomorrow as this is not related to on demand query result feature or its test cases. > > >> > >> > >> ====================================================================== > >> 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 119, in runTest > >> self._query_tool_auto_rollback_enabled() > >> File > >> "/Users/dpage/git/pgadmin4/web/pgadmin/feature_tests/ > query_tool_tests.py", > >> line 697, in _query_tool_auto_rollback_enabled > >> '//div[contains(@class, "sql-editor-message") and contains(string(), > >> "COMMIT")]' > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/remote/webdriver.py", > >> line 295, 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/webdriver.py", > >> line 756, in find_element > >> 'value': value})['value'] > >> File > >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site- > packages/selenium/webdriver/remote/webdriver.py", > >> line 238, 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":"//div[contains(@class, > >> "sql-editor-message") and contains(string(), "COMMIT")]"} > >> (Session info: chrome=58.0.3029.110) > >> (Driver info: chromedriver=2.29.461585 > >> (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.3 > x86_64) > >> > > I have updated Auto rollback enabled test in this patch. > > > >> > >> Relevant screenshots attached. > >> > >> - Can you tidy up the regression output a little please? Instead of: > >> > >> ------- > >> runTest (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) > >> Query tool feature test ... On demand result set on scrolling... > >> OK. > >> > >> On demand result set on grid select all... > >> OK. > >> > >> On demand result set on column select all... > >> OK. > >> > >> Explain query... > >> OK. > >> > >> Explain query with verbose... > >> OK. > >> > >> Explain query with costs... > >> OK. > >> > >> Explain analyze query... > >> OK. > >> > >> Explain analyze query with buffers... > >> OK. > >> > >> Explain analyze query with timing... > >> OK. > >> > >> Auto commit disabled... > >> OK. > >> > >> Auto commit enabled... > >> OK. > >> > >> Auto rollback enabled... > >> ERROR > >> ------- > >> > >> Something like: > >> > >> ------- > >> runTest (pgadmin.feature_tests.query_tool_tests.QueryToolFeatureTest) > >> Query tool feature test ... > >> On demand result set on scrolling... OK. > >> On demand result set on grid select all... OK. > >> On demand result set on column select all... OK. > >> Explain query... OK. > >> Explain query with verbose... OK. > >> Explain query with costs... OK. > >> Explain analyze query... OK. > >> Explain analyze query with buffers... OK. > >> Explain analyze query with timing... OK. > >> Auto commit disabled... OK. > >> Auto commit enabled... OK. > >> Auto rollback enabled... ERROR > >> -------- > >> > > Fixed. > > > > > >> > >> Thanks! > >> > >> -- > >> 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 >