I have modified the patch and used CSS Selector in add_server() function.
Thanks, applied.
I have also tried different approaches to eliminate XPATH in click_tab() function but failed to do so due to following reasons-:
1. :contains() function doesnt work with CSS selector in selenium and since in most of the anchor tags there is no specific attribute present by which we can make the locator generic so that it can work for any tab.
2. Tried using link_text or partial_link_text locators but since click_tab() is a generic function which can click on any of the provided tab name and in our case we do not have every tab having href attribute, we have span tag as the tab as well (ex. Query tool tab) so link_text is not the right option for it since it work only with the href attribute or anchor tag.
I found that in such cases XPATH is the only option to continue with.
If anybody is having some another idea to achieve this using CSS Selector than please suggest.
Thanks and Regards,
Shubham Agarwal
On Fri, Jun 15, 2018 at 4:11 AM, Dave Page <dpage@pgadmin.org> wrote:
I have modified following two functions in pgadmin_page.py :-
1. click_tab() -> Added wait till element is clickable, test cases are failing since the function attempts to click the tab which is not yet in the state to be clicked.
2. add_server() -> Replaced the sleep statement with wait till element to be clickable.
Please find the attached patch.
We should start using CSS selectors instead of xpath, otherwise the patch works fine and also changes look good to me.
Yes, and we should update files as and when we touch them as part of our ongoing refactoring.
Shubham; please go through the files your patch touches, and replace any xpath selectors with CSS selectors. Aside from that, the patch looked to me too, and Pivotal's patch-bot seems happy with it.