fix ui tests: close modal via escape, scheduler settings
- Remove Task 5/6 from docs (tests now fixed) - Close Settings Modal Via Escape: click focus + sleep before Escape key - Edit Scheduler Settings: use checkbox-custom selector - Disable Scheduler: use force=True on checkbox id Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,73 +1,3 @@
|
|||||||
## Task 5: Fix `Robot.Ui.Settings Modal.Close Settings Modal Via Overlay`
|
|
||||||
|
|
||||||
**Test File:** `tests/robot/ui/settings_modal.robot`
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
TimeoutError: locator.click: Timeout 10000ms exceeded.
|
|
||||||
Call log:
|
|
||||||
- waiting for locator('#config-modal .modal-overlay')
|
|
||||||
- attempting click action
|
|
||||||
- <label for="anime-directory-input" ...> from <div class="modal-content"> subtree intercepts pointer events
|
|
||||||
```
|
|
||||||
|
|
||||||
**Root Cause:**
|
|
||||||
The modal overlay element is being obscured by other elements (the label for anime-directory-input is intercepting pointer events). The click is failing because the element isn't properly accessible.
|
|
||||||
|
|
||||||
**Fix Instructions:**
|
|
||||||
1. Try using `force=True` to bypass actionability checks:
|
|
||||||
```robot
|
|
||||||
Click css=#config-modal .modal-overlay force=True
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Or try using `page.locator(...).click(position={...})` with coordinates:
|
|
||||||
```robot
|
|
||||||
Click At Position css=#config-modal .modal-overlay x=0 y=0
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Or try using JavaScript click as a workaround (but use Browser's Evaluate):
|
|
||||||
```robot
|
|
||||||
Evaluate JavaScript document.querySelector('#config-modal .modal-overlay').click()
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Task 6: Fix `Robot.Ui.Settings Modal.Close Settings Modal Via Escape`
|
|
||||||
|
|
||||||
**Test File:** `tests/robot/ui/settings_modal.robot`
|
|
||||||
|
|
||||||
**Error:**
|
|
||||||
```
|
|
||||||
TimeoutError: locator.waitFor: Timeout 3000ms exceeded.
|
|
||||||
```
|
|
||||||
|
|
||||||
**Root Cause:**
|
|
||||||
The modal isn't closing when Escape is pressed. This could be a timing issue or the keyboard event isn't being captured properly.
|
|
||||||
|
|
||||||
**Fix Instructions:**
|
|
||||||
1. Try adding a small delay before pressing Escape:
|
|
||||||
```robot
|
|
||||||
Open Settings Modal
|
|
||||||
Sleep 500ms # Give modal time to fully render
|
|
||||||
Press Keys id=config-modal Escape
|
|
||||||
Wait For Elements State id=config-modal hidden timeout=3s
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Or try focusing the modal first:
|
|
||||||
```robot
|
|
||||||
Open Settings Modal
|
|
||||||
Click id=config-modal # Focus the modal first
|
|
||||||
Press Keys Escape
|
|
||||||
Wait For Elements State id=config-modal hidden timeout=3s
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Or use a different locator for the Escape key:
|
|
||||||
```robot
|
|
||||||
Press Keys None Escape # Press Escape without targeting specific element
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Task 7: Fix `Robot.Ui.Settings Modal.Edit General Settings`
|
## Task 7: Fix `Robot.Ui.Settings Modal.Edit General Settings`
|
||||||
|
|
||||||
**Test File:** `tests/robot/ui/settings_modal.robot`
|
**Test File:** `tests/robot/ui/settings_modal.robot`
|
||||||
|
|||||||
@@ -40,7 +40,9 @@ Close Settings Modal Via Overlay
|
|||||||
Close Settings Modal Via Escape
|
Close Settings Modal Via Escape
|
||||||
[Documentation] Press Escape and verify the modal closes.
|
[Documentation] Press Escape and verify the modal closes.
|
||||||
Open Settings Modal
|
Open Settings Modal
|
||||||
Press Keys id=config-modal Escape
|
Click id=config-modal
|
||||||
|
Sleep 300ms
|
||||||
|
Press Keys None Escape
|
||||||
Wait For Elements State id=config-modal hidden timeout=3s
|
Wait For Elements State id=config-modal hidden timeout=3s
|
||||||
Element Should Be Hidden id=config-modal
|
Element Should Be Hidden id=config-modal
|
||||||
|
|
||||||
@@ -60,7 +62,7 @@ Edit General Settings
|
|||||||
Edit Scheduler Settings
|
Edit Scheduler Settings
|
||||||
[Documentation] Toggle scheduler enabled and change time/days.
|
[Documentation] Toggle scheduler enabled and change time/days.
|
||||||
Open Settings Modal
|
Open Settings Modal
|
||||||
Check Checkbox id=scheduled-rescan-enabled
|
Click css=#scheduled-rescan-enabled ~ .checkbox-custom
|
||||||
Fill Text id=scheduled-rescan-time 04:30
|
Fill Text id=scheduled-rescan-time 04:30
|
||||||
Save Settings
|
Save Settings
|
||||||
Toast Should Contain saved
|
Toast Should Contain saved
|
||||||
@@ -68,7 +70,7 @@ Edit Scheduler Settings
|
|||||||
Disable Scheduler
|
Disable Scheduler
|
||||||
[Documentation] Uncheck scheduler enabled and save.
|
[Documentation] Uncheck scheduler enabled and save.
|
||||||
Open Settings Modal
|
Open Settings Modal
|
||||||
Click xpath=//label[contains(., 'Enable Scheduler')]
|
Uncheck Checkbox id=scheduled-rescan-enabled force=True
|
||||||
Save Settings
|
Save Settings
|
||||||
Toast Should Contain saved
|
Toast Should Contain saved
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user