Re: [pgAdmin4] Feature tests fails on smaller screen resolution

From: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Matthew Kleiman <mkleiman(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4] Feature tests fails on smaller screen resolution
Date: 2017-06-05 09:42:40
Message-ID: CAKKotZTmttJxwiHsQWCXUNB_TvhkGR6b=TH=opSg_DSgD3_UfQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

On Mon, Jun 5, 2017 at 2:49 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Hi
>
>
>
> On Fri, Jun 2, 2017 at 8:01 AM, Murtuza Zabuawala <murtuza.zabuawala@
> enterprisedb.com> wrote:
>
>> Hi Dave,
>>
>> As suggested by Matt, I tried zoom in and zoom out page but still
>> selenium is not able to find elements from page :(
>>
>> I also tried scrolling the page (Suggested by Ashesh & Harshal) but that
>> did not work either because in tests sometime we click on Browser tree,
>> some time Menu option, Some time Alertify dialog, Slickgrid etc, So it is
>> very hard to decide when to scroll and how much we need to scroll to reach
>> the target element for current screen size.
>>
>
> So what is the patch trying to do?
>
In patch I was trying to zoom in/out page.

>
> Can't you just scroll 50px or so at a time until the position of the
> element is within the viewport of it's container? That shouldn't be too
> hard to calculate I don't think (it seems like it's the sort of problem
> that likely happens a lot - maybe there's a solution on Google)?
>
>
I tried scrolling complete page while doing that element timeout occurs
from selenium driver, let me try the approach what you have suggested.

>
>> --
>> Regards,
>> Murtuza Zabuawala
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>> On Thu, Jun 1, 2017 at 1:36 AM, Matthew Kleiman <mkleiman(at)pivotal(dot)io>
>> wrote:
>>
>>> Hi Murtuza!
>>>
>>> I've attached a diff that shows one way you might accomplish zooming the
>>> elements on the page during a feature test. I watched this test run and
>>> I'll admit that the view looks a little weird when zoomed in. It does not
>>> have exactly the same visual effect as if you changed the resolution of
>>> your monitor. I couldn't figure out how to make selenium change the zoom of
>>> the entire browser. However, all of the text elements' fonts are clearly
>>> 25% larger and the feature test fails when I include this code so I'm
>>> hoping this will be sufficient for you to write a test that covers us
>>> against larger scale resolution monitors.
>>>
>>> Let us know if this helps or how we can further help.
>>>
>>> Best,
>>> Matt
>>>
>>>
>>> On Tue, May 30, 2017 at 7:59 AM, Murtuza Zabuawala <
>>> murtuza(dot)zabuawala(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hello Pivotal team,
>>>>
>>>> Need your suggestion on given issue, We have noticed that feature tests
>>>> do not run when we have smaller screen resolutions.
>>>>
>>>> Is there any generic way to handle different screen resolutions of host
>>>> system in feature tests?
>>>>
>>>>
>>>> *Steps to re-produce the issue on macOS(10.10.5)*
>>>> 1) Go to "System preference..."
>>>> 2) Select "Display"
>>>> 3) Choose "Resolution" -> Scaled
>>>> 4) Select "Larger Text"
>>>> 5) Run the feature tests now
>>>>
>>>> You will notice that all of the feature tests fails on server creation
>>>> dialog.
>>>>
>>>> Screen resolution where all tests fails,
>>>>
>>>> --[image: Inline image 1]
>>>>
>>>>
>>>> Trace:-
>>>>
>>>> ======================================================================
>>>> ERROR: runTest (pgadmin.feature_tests.connect
>>>> _to_server_feature_test.ConnectsToServerFeatureTest)
>>>> Test database connection
>>>> ----------------------------------------------------------------------
>>>> Traceback (most recent call last):
>>>> File "/Users/murtuza/Documents/projects/pgadmin4/web/pgadmin/feat
>>>> ure_tests/connect_to_server_feature_test.py", line 41, in runTest
>>>> self._connects_to_server()
>>>> File "/Users/murtuza/Documents/projects/pgadmin4/web/pgadmin/feat
>>>> ure_tests/connect_to_server_feature_test.py", line 69, in
>>>> _connects_to_server
>>>> self.page.find_by_xpath("//button[contains(.,'Save')]").click()
>>>> File "/Users/murtuza/Documents/projects/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>>>> line 87, in find_by_xpath
>>>> return self.wait_for_element(lambda driver:
>>>> driver.find_element_by_xpath(xpath))
>>>> File "/Users/murtuza/Documents/projects/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>>>> line 152, in wait_for_element
>>>> return self._wait_for("element to exist", element_if_it_exists)
>>>> File "/Users/murtuza/Documents/projects/pgadmin4/web/regression/feature_utils/pgadmin_page.py",
>>>> line 188, in _wait_for
>>>> "Timed out waiting for " + waiting_for_message)
>>>> File "/Users/murtuza/Documents/projects/venv_pg4/lib/python3.5/si
>>>> te-packages/selenium/webdriver/support/wait.py", line 80, in until
>>>> raise TimeoutException(message, screen, stacktrace)
>>>> selenium.common.exceptions.TimeoutException: Message: Timed out
>>>> waiting for element to exist
>>>>
>>>> ======================================================================
>>>>
>>>> Please suggest.
>>>>
>>>>
>>>> Regards,
>>>> Murtuza Zabuawala
>>>> EnterpriseDB: 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
>

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Khushboo Vashi 2017-06-05 10:26:21 [pgAdmin4][Patch]: Fixed RM 2381 - "Create Script" for view assigns incorrect schema to trigger functions in "public" schema.
Previous Message Surinder Kumar 2017-06-05 09:22:36 Re: [pgAdmin4][Patch]: Load module's JS files only when required