Re: Acceptance Tests against a browser (WIP)

From: George Gelashvili <ggelashvili(at)pivotal(dot)io>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Atira Odhner <aodhner(at)pivotal(dot)io>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Acceptance Tests against a browser (WIP)
Date: 2017-01-20 17:33:09
Message-ID: CAHowoHYNQC5kovTvkVoYWRr6NCDvLY-8PsEMcJLsu-7z43VNeg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks for bringing that to our attention! Here's the latest patch

On Fri, Jan 20, 2017 at 10:38 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> On Thu, Jan 19, 2017 at 10:07 PM, George Gelashvili
> <ggelashvili(at)pivotal(dot)io> wrote:
> >
> > 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?
>
> Yes, we definitely should (including download site URL)
>
> > On Tue, Jan 17, 2017 at 11:09 AM, Atira Odhner <aodhner(at)pivotal(dot)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
> >>
> >>
> >
> >
> >
> > --
> > Sent via pgadmin-hackers mailing list (pgadmin-hackers(at)postgresql(dot)org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgadmin-hackers
> >
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

Attachment Content-Type Size
acceptance-tests-with-server-start-and-polling.diff text/plain 8.5 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Fahar Abbas 2017-01-20 19:48:53 Re: Re: PATCH: RM# 1679 - Background process for "restore" not reporting status back to pgAdmin
Previous Message Dave Page 2017-01-20 15:38:55 Re: Acceptance Tests against a browser (WIP)