Re: [pgadmin-hackers] Acceptance Tests against a browser (WIP) - Mailing list pgadmin-hackers

From George Gelashvili
Subject Re: [pgadmin-hackers] Acceptance Tests against a browser (WIP)
Date
Msg-id CAHowoHbyxYrnROe+8BDBaf_Z8KneW95be8g-5OMZ4q5jFH28Ow@mail.gmail.com
Whole thread Raw
In response to Re: [pgadmin-hackers] Acceptance Tests against a browser (WIP)  (Atira Odhner <aodhner@pivotal.io>)
Responses Re: [pgadmin-hackers] Acceptance Tests against a browser (WIP)  (George Gelashvili <ggelashvili@pivotal.io>)
Re: [pgadmin-hackers] Acceptance Tests against a browser (WIP)  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers

Here is an updated patch which starts the server up when the test starts and uses the values from config.py for server name etc. It still requires installing chromedriver before running. Should we add something to the readme about that?

On Tue, Jan 17, 2017 at 11:09 AM, Atira Odhner <aodhner@pivotal.io> wrote:
Thanks for your feedback, Dave!

We can put the tests under the regression directory. I think that makes sense. 
I'm not picturing these tests being module specific, but we may want to enable running it as a separate suite of tests. 

Thanks for the callout about the port and title. We'll make sure those are pulled from config or that the pgAdmin server is spun up by the test with specific values. 

I have a couple ideas about why the test might not have been running for you. I think the patch we attached didn't spin up its own pgAdmin yet and it definitely doesn't fill in username/password if your app is running that way. That's part of the WIP-ness :-P

-Tira

Hi

On Thu, Jan 12, 2017 at 10:41 PM, George Gelashvili
<ggelashvili(at)pivotal(dot)io> wrote:
> here's the patch we forgot to attach. Also, you can see work on our branch
> at:
> https://github.com/pivotalsoftware/pgadmin4/tree/pivotal/acceptance-tests
>
> On Thu, Jan 12, 2017 at 5:26 PM, George Gelashvili <ggelashvili(at)pivotal(dot)io>
> wrote:
>>
>> Hi there,
>>
>> We are working on browser-automation-based acceptance tests that exercise
>> pgAdmin4 the way a user might.

Nice!

>> The first "connect to database" test works, but at the moment depends on
>> Chrome and chromedriver. We would appreciate feedback on any possible
>> license or code style issues at this point, as well as any thoughts on
>> adding this sort of test to the codebase.

A few thoughts:

- If these tests are to run as part of the regression suite, the
framework for them should live under that directory.

- Are any of the tests likely to be module-specific? If so, they
should really be part of the relevant module as the regression tests
are. If they're more general/less tightly coupled, then I don't see a
problem with them residing where they are.

- Please take care not to include changes to .gitgnore files that
aren't relevant to the rest of us.

- The port number is hard-coded in the test.

- You've hard-coded the string "pgAdmin 4". We've tried to keep that
title as a config option in config.py, so you should pull the string
from there rather than hard-coding it.

- The connect test fails for me (Mac, Python 2.7). I have a suspicion
that this may be because when the test starts chromedriver, OS X
prompts the user about whether a listening port should be opened, but
the tests don't wait (though, I tested with 3 servers configured and
it failed with the same error on the second and third as well, long
after I clicked OK on the prompt):

Traceback (most recent call last): File "/Users/dpage/git/pgadmin4/web/acceptance/test_connects_to_database.py",
line 32, in runTest   self.assertEqual("pgAdmin 4", self.driver.title)
AssertionError: 'pgAdmin 4' != u'localhost'

- Please keep tests in the pgadmin. namespace (pgadmin.acceptance.??).

- It looks like running a single test won't work yet (because of
TestsGeneratorRegistry.load_generators('pgadmin.%s.tests' %
arguments['pkg']))

Thanks!

-- 
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: George Gelashvili
Date:
Subject: Re: [pgadmin-hackers] PATCH: To fix the issue in Database node (pgAdmin4)
Next
From: George Gelashvili
Date:
Subject: [pgadmin-hackers][Patch] Python 3 compatibility