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-02 07:01:17
Message-ID: CAKKotZRKGCXzfqVLize22vUhai=1Z=UvemVR3DugtEeftDAsOA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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.

--
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.zabuawala@
> enterprisedb.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/
>> site-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
>>
>
>

Attachment Content-Type Size
screen_feature_tests.diff text/plain 12.6 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2017-06-02 08:01:27 Re: Declarative partitioning in pgAdmin4
Previous Message Murtuza Zabuawala 2017-06-02 05:13:02 [pgAdmin4][PATCH] To fix the spacing issue in SQL for Event trigger