Re: [pgAdmin 4 - Housekeeping #5255] Implement Selenium Grid using multi-threading & solenoid using current test framework

From: Yogesh Mahajan <yogesh(dot)mahajan(at)enterprisedb(dot)com>
To: Shubham Agarwal <shubham(dot)agarwal(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Cc: navnath gadakh <navnath(dot)gadakh(at)enterprisedb(dot)com>, Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Subject: Re: [pgAdmin 4 - Housekeeping #5255] Implement Selenium Grid using multi-threading & solenoid using current test framework
Date: 2020-05-01 06:57:44
Message-ID: CAMa=N=MD1ujhKigk9guTeVofhBrHkAsaNWH+z1=oRQJJQ8X4vQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi,

Please find updated patch modified according to review comments -
Patch implements below things -
1.Enable the current framework to provide option to execute Feature tests
in parallel on selenium grid set up.
- Addition of new switch to start parallel features tests.
- New parameters with respect to selenoid in test_config.json.in
- Addition of new script to check solenoid updates.

Thanks,
Yogesh Mahajan
QA - Team
EnterpriseDB Corporation

Phone: +91-9741705709

On Tue, Apr 21, 2020 at 1:18 PM Shubham Agarwal <
shubham(dot)agarwal(at)enterprisedb(dot)com> wrote:

> Hi Yogesh,
> Below are the review comments-
>
> 1. runtests.py
> a. The exception traceback logic at line number 653 in runtests.py is
> not correct since it is particular to the thread
> but there is much more code in that block which can throw some exception.
> b. line number 447 -> The drop_database function will only try to drop
> the database with the name which is newly created
> at 431 line number, its probability is 1% instead of this you can write a
> logic so that it will drop all the database which starts with name
> ‘acceptance_test_db'.
> c. line 584 - Why we are including resql test case execution in GUI
> execution logic.
> d. Change the function name run_test as script name is also
> runtests.py
>
> 2. test_utils.py
> a. Remove the headless chrome code from get_remote_webdriver() in
> test_utils.py since we are using solenoid and it is not required anymore.
> b. Create separate functions to instantiate the firefox driver and
> chrome driver logic since the same code is used in multiple files.
> c. launch_url_in_browser() -> you can simplify the definition of the
> function like:
> retry = 60
>  *while *retry > 0:
> try:
> driver.get(url)
> except WebDriverException:
> retry -= 1
> 3. Execution logs are not printing as per the logic some time, I ran the
> suite for two servers and attached are the execution logs.
> 4. Readme -
> Please provide the Valid selenoid URL to be provided in the
> test_config.json, with all the steps mentioned in the readme it is not
> clear.
> Revisit the readme and write the missing steps.
> 5. copy_selected_query_results_feature_tests.py-
> Create the function to avoid duplicate code. The code for pasting the
> values is repeating 8 times in the test code.
> 6. Provide the valid docstring in newly introduced functions and also
> valid comments while calling it. for ex.- _update_preference() function is
> introduced in pg_utilities_backup_restrore_test.py but from the function
> name, it is not clear what preferences are going to update in it.
> 7. test_index_constraint_add test case is failing due to the latest
> change, please merge and update this test case
>
> On Thu, Apr 16, 2020 at 2:41 PM navnath gadakh <
> navnath(dot)gadakh(at)enterprisedb(dot)com> wrote:
>
>> Hi,
>> I think I am not the right person to review this patch now as I already
>> reviewed this code offline in the last week. I know the approached Yogesh
>> has followed, also given some review comments on it.
>> Someone else please review it.
>>
>> Thanks!
>>
>> On Mon, Apr 13, 2020 at 2:49 PM Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Navnath
>>>
>>> Can you please review it?
>>>
>>> On Mon, Apr 13, 2020 at 2:40 PM Yogesh Mahajan <
>>> yogesh(dot)mahajan(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please find the attached patch for running *features tests* using
>>>> solenoid(selenium grid + docker).
>>>> KIndly review.
>>>> To sun feature tests in parallel, required prerequisites can be checked
>>>> in '~/web/regression/README' file.
>>>> Also detailed instructions are added in the same file.
>>>> After applying the patch, any existing process for execution of
>>>> API/Features tests remains the same.
>>>>
>>>>
>>>> Thanks,
>>>> Yogesh Mahajan
>>>> QA - Team
>>>> EnterpriseDB Corporation
>>>>
>>>> Phone: +91-9741705709
>>>>
>>>
>>>
>>> --
>>> *Thanks & Regards*
>>> *Akshay Joshi*
>>>
>>> *Sr. Software Architect*
>>> *EnterpriseDB Software India Private Limited*
>>> *Mobile: +91 976-788-8246*
>>>
>>
>>
>> --
>> Regards,
>> Navnath Gadakh
>>
>
>
> --
> Thanks & Regards,
> Shubham Agarwal
> EnterpriseDB Corporation
>
> The Postgres Database Company
>

Attachment Content-Type Size
Selenium_Grid_Implementation_ver2.0.patch application/octet-stream 155.5 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2020-05-01 07:50:11 Re: [pgAdmin][RM5455] Cleanup pgAdmin.py
Previous Message Satish V 2020-04-30 14:58:59 Re: RM3694-If database is already connected and click on database then connect database should not displayed in Menu