Add IDs to storage pages of new UI
QA automation testing for the new WebUI requires Id in order to locate the elements to be tested along with there functionality.
This ticket explains more about what has been done before and what was needed(https://redmine.ixsystems.com/issues/26056 ). It did help a lot.
Webui team was still working on Storage pages probably for the same reason ID assignments were not incorporated in the Storage pages. I am currently struggling with Storage/Pool as explained below but I would need IDs for other pages as well.
Storage Pool Refer screentshot:Pool (for 1-4)
1. the input box for storage pool name doesnt have an ID
2. If there is a way to assign Id to the checkbox in relation to the disk name, it will be awesome because one used, the list changes and hardcoding the absolute path to elements(checkbox in this case) is an invitation to trouble
3. The arrow button to move the disk to Data Vdevs should have an ID saying something like(Add/remove)
4. Buttons in the bottom specifying create, cancel add Data etc needs IDs too
Refer screenshot: delet_pool (for 5 and 6) this is major because with every nightly and sometimes between different pages I see the font changes from complete-caps to complete-small or camel case or something which I don't want my tests to depend on(very inconsistent) and it is unnecessary repetitive work which can be clearly avoided.
5. Detach button needs id like other message box buttons(like delete button for user/group has ID: "ok_button" )
6. Same thing for the close button for the message box
your help will be extremely appreciated. Please feel free to reach out to me if you have any further doubt. Webui team has done it before, it should not be difficult
#3 Updated by Rishabh Chauhan almost 2 years ago
So something like this would help! observe the HTML structure for 1st and 2nd:
1st <button _ngcontent-c58="" class="mat-button mat-primary mat-button" mat-button="" name="ok_button"><span class="mat-button-wrapper">DELETE
</span><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
2nd <button class="mat-button mat-primary ng-star-inserted" mat-button="" style=""><span class="mat-button-wrapper">Detach</span><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
NOW: 1st HTML is for delete user confirmation button and the 2nd HTML is for detach pool confirmation button
if you observe there is an attribute in delete user confirmation name="ok_button" which is missing in detach pool...
if something like that is also introduced instead of ID, it will be helpful
I know this can be confusing, reach out to me with questions :)