action #130003
closedcoordination #121855: [epic] Agama web interactive installation
Add test for Full-disk encryption installation
0%
Description
Motivation¶
Use Playwright and Page Object Model create a Typescript test that does Full-disk encryption with Agama.
Test should go to Storage, enable encryption, type password, confirm password (we don't need to check in the screen that the UI reflect the encryption for now, because the UI is changing too much at the moment and we are interested in the installed system to verify, but we will do in due time).
Add user and install.
Scope¶
Installations of ALP Micro, ALP Bedrock and Tumbleweed using Agama for all architectures available in openQA (s390x and ppc64le excluded for now).
Acceptance criteria¶
AC1: Get familiar with Playwright and use the playwright test generator to get first version of your code.
AC2: Locate only the auto-generated code related with disk-encyprytion and convert it to Page Object Model.
AC3: Add new test to our QE repo e2e-agama-playwright using that POM.
AC4: Add new test under folder tests/yam/validation/ that perform a simple validation of a full-encrypted disk.
Additional information¶
Playwright documentation: https://playwright.dev/docs/intro
Playwright documentation - Page Object Model: https://playwright.dev/docs/pom
How to use playwright with Agama: https://github.com/openSUSE/agama/blob/master/playwright/README.md
Notice that for development in your system, you will need to install playwright and run npx playwright test
, due to in the live iso the command to run is different as described in doc above, playwright test
.
Don't worry about anything else than enabling encrpytion from Storage page and the small popup that allow us to encrypt, so you can narrow the scope of this ticket to one POM which only contains the enable button and another POM that only contains the popup with the two passwords.
LVM implementation or mapping of the UI element will be done in a different ticket.
The rest of the implementation, the main page, how to navigate from main page to storage page, etc, will be provided in a different PR, so it will be acceptable that only the part for encryption is modelated with POM and not the rest, the part related with the user creation will be also done without POM, just pick what you need using Playwright test generator, we will refactor it later.
IMPORTANT: While #130000 is not yet resolve, please add a call to yupdate in your test so live-cd can pick the new test/code you implement from a branch
Files
Updated by rainerkoenig over 1 year ago
- Status changed from Workable to In Progress
- Assignee set to rainerkoenig
Updated by JERiveraMoya over 1 year ago
- File Encryption_settings.png Encryption_settings.png added
Updated by JERiveraMoya over 1 year ago
- Copied to action #130045: Create POM to define user and root authentication added
Updated by JERiveraMoya over 1 year ago
- Copied to deleted (action #130045: Create POM to define user and root authentication)
Updated by rainerkoenig over 1 year ago
- File encrypt_fs.spec.ts encrypt_fs.spec.ts added
Status update¶
To get familiar with Playwright I used the root_password.spec.ts
to modify it for setting the encryption password. Not yet POM, but at least it works as expected. So next actions will be getting familiar with the test generator in Playwright and then finding ways to debug that. So far using --debug
in the command line issues an error that Playwright can't find the chromium browser.
Updated by JERiveraMoya over 1 year ago
rainerkoenig wrote:
Status update¶
To get familiar with Playwright I used the
root_password.spec.ts
to modify it for setting the encryption password. Not yet POM, but at least it works as expected. So next actions will be getting familiar with the test generator in Playwright and then finding ways to debug that. So far using--debug
in the command line issues an error that Playwright can't find the chromium browser.
in your system when you install playwright you need to install the browsers.
Updated by rainerkoenig over 1 year ago
Status update¶
- Transformed the test into POM
- Local test verification run from VS Code on a KVM machine worked as expected
Next steps: Discuss AC3 and AC4 with Joaquin for clarification.
Updated by JERiveraMoya over 1 year ago
Updated by rainerkoenig over 1 year ago
PR for VR on openQA: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/17358
Updated by JERiveraMoya over 1 year ago
- Status changed from In Progress to Resolved