${deadline} time.time() + ${timeout} Evaluates the given expression in Python and returns the result. ${now} time.time() Evaluates the given expression in Python and returns the result. Backend did not become healthy within ${timeout} seconds Fails the test with the given message and optionally alters its tags. ${response} ${BACKEND_URL}/api/health expected_status=200 Sends a GET request. ${interval} Pauses the test executed for the given time. Backend is healthy. Logs the given message with the given level. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=form visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=input[autocomplete="username"] contains hidden Assertion Getter PageContent Get the active states from the element found by ``selector``. css=[aria-label="Master Password"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=[aria-label="Confirm Password"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=[aria-label="Database Path"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=[aria-label="fail2ban Socket Path"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=[aria-label="Timezone"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=[aria-label="Session Duration (minutes)"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=button[type="submit"] visible timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=button[type="submit"] equals Complete Setup Assertion Getter PageContent Returns text attribute of the element found by ``selector``. BrowserControl Setter Closes the current browser. Starting Browser process /home/lukas/Volume/repo/BanGUI/.venv/lib/python3.12/site-packages/Browser/wrapper/index.js using at 127.0.0.1:34013 Verify all setup wizard fields are present and labelled correctly. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${segments} css=.passwordStrengthSegment Getter PageContent Returns a reference to Playwright [https://playwright.dev/docs/api/class-locator|Locator] for all matched elements by ``selector``. ${active_count} 0 Returns the given values which can then be assigned to a variables. ${classes} ${seg} class Assertion Getter PageContent Returns the HTML ``attribute`` of the element found by ``selector``. ${active_count} ${active_count} + 1 Evaluates the given expression in Python and returns the result. ${seg} @{segments} ${active_count} 0 Fails if objects are unequal after converting them to integers. css=input[aria-label="Master Password"] WeakPass PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. ${active_count} 0 Returns the given values which can then be assigned to a variables. ${segments} css=.passwordStrengthSegment Getter PageContent Returns a reference to Playwright [https://playwright.dev/docs/api/class-locator|Locator] for all matched elements by ``selector``. ${classes} ${seg} class Assertion Getter PageContent Returns the HTML ``attribute`` of the element found by ``selector``. ${active_count} ${active_count} + 1 Evaluates the given expression in Python and returns the result. ${seg} @{segments} ${active_count} 1 Fails if objects are unequal after converting them to integers. BrowserControl Setter Closes the current browser. The four-segment strength bar and rule count reflect password complexity. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=input[aria-label="Master Password"] Hallo123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Confirm Password"] Different123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=button[type="submit"] PageContent Setter Simulates mouse click on the element found by ``selector``. css=[aria-label="Confirm Password"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="Confirm Password"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Passwords do not match. Fails if objects are unequal after converting them to strings. BrowserControl Setter Closes the current browser. Submitting with non-matching passwords surfaces an error on Confirm Password. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=button[type="submit"] PageContent Setter Simulates mouse click on the element found by ``selector``. css=[aria-label="Master Password"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="Master Password"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Password is required. Fails if objects are unequal after converting them to strings. css=[aria-label="Database Path"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="Database Path"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Database path is required. Fails if objects are unequal after converting them to strings. css=[aria-label="fail2ban Socket Path"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="fail2ban Socket Path"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Socket path is required. Fails if objects are unequal after converting them to strings. BrowserControl Setter Closes the current browser. Submitting with blank required fields shows field-level error messages. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=input[aria-label="Master Password"] Hallo123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Confirm Password"] Hallo123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Database Path"] bangui.db PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="fail2ban Socket Path"] /var/run/fail2ban/fail2ban.sock PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Session Duration (minutes)"] 0 PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=button[type="submit"] PageContent Setter Simulates mouse click on the element found by ``selector``. css=[aria-label="Session Duration (minutes)"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="Session Duration (minutes)"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Session duration must be at least 1 minute. Fails if objects are unequal after converting them to strings. BrowserControl Setter Closes the current browser. Session duration below 1 minute triggers a validation error. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=input[aria-label="Master Password"] short PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=button[type="submit"] PageContent Setter Simulates mouse click on the element found by ``selector``. css=[aria-label="Master Password"] attached timeout=5s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. ${msg} css=[aria-label="Master Password"]/ancestor::*[contains(@class,"field")]//*[contains(@class,"validationMessage")] Assertion Getter PageContent Returns text attribute of the element found by ``selector``. ${msg} Password must meet all complexity requirements. Fails if ``container`` does not contain ``item`` one or more times. BrowserControl Setter Closes the current browser. Submitting a password that meets length but not all rules shows complexity error. chromium headless=${TRUE} BrowserControl Setter Create a new playwright Browser with specified options. ${status_resp} ${BACKEND_URL}/api/setup/status Sends a GET request. ${status_body} ${status_resp.json()} Returns the given values which can then be assigned to a variables. Setup complete: ${status_body}[setup_complete] Logs the given message with the given level. ${FRONTEND_URL}/setup BrowserControl Setter Navigates to the given ``url``. css=input[aria-label="Master Password"] visible timeout=15s PageContent Wait Waits for the element found by ``selector`` to satisfy state option. css=input[aria-label="Master Password"] Hallo123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Confirm Password"] Hallo123! PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Database Path"] bangui.db PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="fail2ban Socket Path"] /var/run/fail2ban/fail2ban.sock PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Timezone"] UTC PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=input[aria-label="Session Duration (minutes)"] 60 PageContent Setter Clears and fills the given ``txt`` into the text field found by ``selector``. css=button[type="submit"] PageContent Setter Simulates mouse click on the element found by ``selector``. ${current_url} Assertion Getter PageContent Returns the current URL. ${deadline} time.time() + 15 Evaluates the given expression in Python and returns the result. ${now} time.time() Evaluates the given expression in Python and returns the result. ${url} Assertion Getter PageContent Returns the current URL. 0.5 Pauses the test executed for the given time. ${new_status_resp} ${BACKEND_URL}/api/setup/status Sends a GET request. ${new_status_body} ${new_status_resp.json()} Returns the given values which can then be assigned to a variables. ${new_status_body}[setup_complete] Fails if the given condition is not true. BrowserControl Setter Closes the current browser. Filling all fields and submitting completes setup and navigates to /login. All Tests 05 Setup Error in file '/home/lukas/Volume/repo/BanGUI/e2e/resources/common.resource' on line 5: Processing variable file '/home/lukas/Volume/repo/BanGUI/e2e/resources/../../.env' failed: Importing variable file '/home/lukas/Volume/repo/BanGUI/e2e/resources/../../.env' failed: Module name cannot contain dots when importing by path.