Branch: refs/heads/2.3.0
Home:
https://github.com/Checkmk/checkmk
Commit: 02b10f8ecc10d262e483911eeb99f90c5c070620
https://github.com/Checkmk/checkmk/commit/02b10f8ecc10d262e483911eeb99f90c5…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M .gitignore
Log Message:
-----------
gui e2e tests: ignore playwright generated artifacts.
+ screenshots; png files
+ default directory generated by gui-e2e tests: test-results
Change-Id: Id520ac53843e0360b8916620a16ddf55420163a3
Commit: 0cfac53ca154f5eaf6888fd8898c2a31090eb097
https://github.com/Checkmk/checkmk/commit/0cfac53ca154f5eaf6888fd8898c2a310…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_hosts.py
Log Message:
-----------
gui-e2e tests: add sanity test for Host-properties page.
CMK-13996
Change-Id: I605d69bebeee9e8f6aa1366759f12ee8729ab058
Commit: a0db83497772b36f0c41ddf5023b2c9af0f76967
https://github.com/Checkmk/checkmk/commit/a0db83497772b36f0c41ddf5023b2c9af…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_backup.py
M tests/gui_e2e/test_hosts.py
M tests/gui_e2e/test_signature_keys_for_signing_agents.py
M tests/testlib/playwright/helpers.py
Log Message:
-----------
gui-e2e tests: validate presence of GUI elements.
+ links, popup-menus & properties
the elements are being located using "text",
with the use of helper function "LocatorHelper::get_text".
Searches using element IDs has been removed,
as a GUI-user doesn't know about IDs.
+ extend functionality of helper function, added optional arguments.
* "exact":
search for GUI elements with the exact string;
defaults to 'True'.
* "first":
return ONLY the first locator, otherwise return all locators;
defaults to True.
* '' are now added to the text being searched,
to search for specific elements.
This narrows down the elements found on GUI
(
https://playwright.dev/python/docs/other-locators#legacy-text-locator).
+ adapt tests
* fingerprint is displayed with upper-case letters in GUI.
* Added "." to the string being searched.
CMK-13996
Change-Id: I6e9821dd3c3ee0a92f838b9ffb9d7b3ae94853ec
Commit: 0457305ac3efb8f35747a113bea5f211430f34f6
https://github.com/Checkmk/checkmk/commit/0457305ac3efb8f35747a113bea5f2114…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_hosts.py
Log Message:
-----------
gui-e2e tests: check absence of errors and warnings within host-properties page.
Change-Id: Icea4aa4c47d801944a420eb7cfca10b4d409b19b
Commit: 3d55b8baf2d4a67af41f75521b8274837d91c9a8
https://github.com/Checkmk/checkmk/commit/3d55b8baf2d4a67af41f75521b8274837…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
M tests/gui_e2e/test_asvs.py
M tests/gui_e2e/test_backup.py
M tests/gui_e2e/test_change_password.py
M tests/gui_e2e/test_hosts.py
M tests/gui_e2e/test_login.py
M tests/gui_e2e/test_menu_help.py
M tests/gui_e2e/test_menu_user.py
M tests/gui_e2e/test_mobile.py
M tests/gui_e2e/test_sidebar.py
M tests/gui_e2e/test_signature_keys_for_signing_agents.py
M tests/gui_e2e/test_totp.py
M tests/gui_e2e/test_werks.py
M tests/testlib/playwright/helpers.py
A tests/testlib/playwright/pom/dashboard.py
A tests/testlib/playwright/pom/navigation.py
M tests/testlib/playwright/pom/werks.py
Log Message:
-----------
gui-e2e: Introduce Page object model(PoM) to gui e2e tests.
+ move "MainArea", "MainMenu", "SideBar" into
"pom.navigation".
+ move "PPage" within "pom.dashboard".
+ corresponding changes within test-cases
modify "import"ing of objects within test-cases.
extra details at,
https://wiki.lan.tribe29.com/books/dhananjays-book/page/gui-e2e-tests-page-…
Change-Id: I38d5a0a0e251181854e2a3ec4d216a450820d19b
Commit: 3efef5a37abc1823696bd411837d54ac6878ef61
https://github.com/Checkmk/checkmk/commit/3efef5a37abc1823696bd411837d54ac6…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/testlib/playwright/helpers.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/navigation.py
Log Message:
-----------
gui-e2e tests: migrate base functionality into "CmkPage".
+ generalize argument type to "str" for "LocatorHelper::locator".
+ define base class: CmkPage corresponding to general GUI page interaction.
The object inherits from "LocatorHelper".
+ migrate base functionality away from PPage into CmkPage.
PPage inherits from CmkPage.
Change-Id: Ib6c021e45d0a112b36af39bd44f1b9a932886110
Commit: 15991548293852d913d73ae1836926a9e006813d
https://github.com/Checkmk/checkmk/commit/15991548293852d913d73ae1836926a9e…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
M tests/gui_e2e/test_asvs.py
M tests/gui_e2e/test_backup.py
M tests/gui_e2e/test_change_password.py
M tests/gui_e2e/test_hosts.py
M tests/gui_e2e/test_login.py
M tests/gui_e2e/test_menu_help.py
M tests/gui_e2e/test_menu_user.py
M tests/gui_e2e/test_mobile.py
M tests/gui_e2e/test_sidebar.py
M tests/gui_e2e/test_signature_keys_for_signing_agents.py
M tests/gui_e2e/test_totp.py
M tests/gui_e2e/test_werks.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/werks.py
Log Message:
-----------
gui-e2e tests: rename "PPage" -> "LoginPage".
Change-Id: I747c2f73283d853a2355db9c1a58cd55608b97b2
Commit: 60e6b7d9d0732e07ed55125c59f917bbbd0397f3
https://github.com/Checkmk/checkmk/commit/60e6b7d9d0732e07ed55125c59f917bbb…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/testlib/playwright/helpers.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/navigation.py
M tests/testlib/playwright/timeouts.py
Log Message:
-----------
gui-e2e test: streamline usage of 'timeout's.
+ Base page-object(LocatorHelper) accepts two type of timeouts
* timeout for assertions, used for code such as
`except(...).to_be_visible()`
by default, 15 seconds.
* timeout for navigation, used for code such as
`page.locator("web-element").click()` or
`page.goto("url")`
by default, 30 seconds
Code can be seen within `LocatorHelper::__init__`.
Change-Id: I4dc473c959de53551274d88049bc889795d5c1fb
Commit: 0893b5a9884086959c4ece0e9b2e9bfce54a98e5
https://github.com/Checkmk/checkmk/commit/0893b5a9884086959c4ece0e9b2e9bfce…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/testlib/playwright/pom/navigation.py
Log Message:
-----------
gui-e2e tests: overload 'locator' method in "MainArea",
"MainMenu".
+ return iframe and menu location, respectively, if no selector is provided.
+ Enable usage of "main_area.get_by_role" (FrameLocator.get_by_role)
there is a difference in earlier default behaviour of
main_area.locator("xpath=.").get_by_role (<Locator
object>.<action>)
and
main_area.get_by_role (<FrameLocator object>.<action>)
Change-Id: If19203f24ae3811a3bba9ac32efccd98ed863a25
Commit: 437b4a3de94f5e466754befb4009af29858c8eff
https://github.com/Checkmk/checkmk/commit/437b4a3de94f5e466754befb4009af298…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/testlib/playwright/helpers.py
M tests/testlib/playwright/pom/navigation.py
Log Message:
-----------
gui-e2e tests: move 'click_and_wait' method to 'LocatorHelper'.
+ "click_and_wait" needs to be accessed by MainArea and MainMenu, as well.
+ improvements to "click_and_wait"
* accepts Locator, Frame or Page as an object
* Assertion displays the latest exception.
+ added new method `CmkPage::get_link`
* wraps playwright code `get_by_role(role="link", ...)`
+ updates wrt consistent type-hinting.
Change-Id: I139ac9bd8ae9bf819ccd9609b597fe7e855e455b
Commit: 226e13dd495ab112019c63bd7a9bdb18f96d3553
https://github.com/Checkmk/checkmk/commit/226e13dd495ab112019c63bd7a9bdb18f…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_hosts.py
M tests/testlib/playwright/pom/navigation.py
A tests/testlib/playwright/pom/setup/hosts.py
Log Message:
-----------
gui-e2e tests: Add PoM for `setup -> Hosts`
+ added "SetupHost"
+ consists of method to create host
+ added "HostProperties"
+ creates a host automatically, if one doesn't exist.
+ consists of method to delete host
+ add methods within "CmkPage"
+ "get_link": used to get web-elements having role="link"
+ "goto": override "Page.goto"; additionally validates
"load" event.
+ migrate "gui_e2e.test_hosts::TestHost"
to
"testlib.playwright.pom.setup.hosts::HostDetails"
+ Update 'test_create_and_delete_a_host' (as a firtst).
+ use PoM "HostProperties" within the test-case.
Change-Id: I2e4deae399a812a31f9e696ebf22dbbe611df5bd
Commit: 4db36c0e7804b54773d520ef29d76983448e74a9
https://github.com/Checkmk/checkmk/commit/4db36c0e7804b54773d520ef29d769834…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_hosts.py
M tests/testlib/playwright/pom/setup/hosts.py
Log Message:
-----------
gui-e2e tests: Update "test_hosts" to use PoM.
+ adapt tests to use test-fixture enabled by using "HostProperties".
+ migrate page related attributes to "HosProperties"
such as list of popup-menus, links and page-properties
+ remove redundant code
test-code to create and delete hosts,
which has been moved to PoM "HosProperties" already.
Change-Id: I33e90b42868aa22978cd6c9e4b63d9cd13d1ffaf
Commit: d572bb66fc1be6adf913e57f99282e3ddb7c3336
https://github.com/Checkmk/checkmk/commit/d572bb66fc1be6adf913e57f99282e3dd…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_hosts.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/navigation.py
M tests/testlib/playwright/pom/setup/hosts.py
Log Message:
-----------
gui-e2e tests: encapsulate ´navigation´ steps.
**Major**
+ encapsulate steps required to navigate to a page.
+ method `navigate` is an `abstractmethod`
+ it must be defined in an page object.
+ reusable using `super().__init__`,
as it is called within the `CmkPage.__init__`.
+ update methods `create_user` and `delete_user`. Added *assumption*
+ actions performed are within the context of corresponding pages
+ Why ?
Methods are specific to a page under consideration.
They are expected to work ONLY in the context of the page.
**Minor**
+ docstring updates
+ added TODO to define `LoginPage::navigate`.
+ updates to affected test-cases.
CMK-16734
Change-Id: I05bdf956daa6abc153b638096c949a90270df74a
Commit: c0570108c7b8af45b9075a80af4f2577d4b51011
https://github.com/Checkmk/checkmk/commit/c0570108c7b8af45b9075a80af4f2577d…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
M tests/gui_e2e/test_asvs.py
M tests/gui_e2e/test_menu_user.py
M tests/testlib/playwright/helpers.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/site.py
Log Message:
-----------
gui-e2e tests: initialize `LoginPage` with `credentials`.
+ Consolidated "username:password" -> CmkCredentials.
+ always pass `credentials` to `LoginPage::login`.
+ `Dont Repeat Yourself` principal for handling credentials
* added `ADMIN_USER`, `AUTOMATION_USER` within `testlib.site`
* adapt `testlib.site` accordingly
+ adapted corresponding test-cases and code.
Change-Id: I9df9d2771833e8e36d648cd6a6b9d7e9be40ce15
Commit: e9da4e0772b6d8e99cb43c483c8484e7a1adf6bb
https://github.com/Checkmk/checkmk/commit/e9da4e0772b6d8e99cb43c483c8484e7a…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
Log Message:
-----------
gui-e2e tests: prefix `gui_e2e.conftest::log_in` with `_`.
Function is meant to be used within `gui_e2e.conftest`.
Change-Id: I244bab3dc523111c7d1a4c233157548033c8f6ed
Commit: ebf04a5a0ea051f29db60abee9f461a834802fb4
https://github.com/Checkmk/checkmk/commit/ebf04a5a0ea051f29db60abee9f461a83…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_asvs.py
M tests/testlib/playwright/pom/dashboard.py
Log Message:
-----------
gui-e2e tests: update `LoginPage` interface.
+ `site_url` must be provided to initialize `LoginPage`.
+ promotes consistency in usage of `LoginPage`
+ adapted corresponding test-case(s).
Change-Id: Ic3b92990e76c1825cc70ea89280fdcddd798d98e
Commit: bf05e6315b8f7abc664ae898b9c80d42cf7c59ce
https://github.com/Checkmk/checkmk/commit/bf05e6315b8f7abc664ae898b9c80d42c…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
Log Message:
-----------
gui-e2e tests: update arguments used in `gui_e2e.conftest::_log_in`.
`test_site` can be used within `_log_in` function to decide which
website needs to be used.
Change-Id: I592e497ae71aec593f510a8049f13a42bdabf43b
Commit: 8a6d7c49a804947a58a96c50fe2b0aed4a3fceee
https://github.com/Checkmk/checkmk/commit/8a6d7c49a804947a58a96c50fe2b0aed4…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
M tests/gui_e2e/test_asvs.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/werks.py
Log Message:
-----------
gui_e2e tests: populate `LoginPage::navigate`.
+ `LoginPage::navigate` validates
+ User and password the GUI elements.
+ `LoginPage` attributes
+ removed `site_id` as it is not used
+ added `_logged_in` to denote a user has logged-into the GUI.
+ adapt `gui_e2e.conftest::_log_in`
+ adapt corresponding test-cases and code.
Change-Id: I55d845670deef31ec721b82eb8128b39f0ec3d17
Commit: f24de2189aea387c639cd0abd8dd33faed939efb
https://github.com/Checkmk/checkmk/commit/f24de2189aea387c639cd0abd8dd33fae…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/conftest.py
M tests/gui_e2e/test_asvs.py
M tests/testlib/playwright/pom/dashboard.py
Log Message:
-----------
gui-e2e tests: extend `login` and `logout` within `LoginPage`.
+ validate change in page URL.
Change-Id: I9b071069ec2538a152f06ae84ae0ba17909afc39
Commit: 6089cbbd97b47801a97820562644deb953671440
https://github.com/Checkmk/checkmk/commit/6089cbbd97b47801a97820562644deb95…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_login.py
M tests/testlib/playwright/pom/dashboard.py
Log Message:
-----------
gui-e2e tests: validate page redirection after login.
Login page could consist of page URLs,
which are redirected to after a successful login.
Added code to parse the URL of the redirected page.
Then validate the page has navigated to the redirected URL.
CMK-16737
Change-Id: Ib28fa4c16c9df8d8a798ae5fb2a37e2cc68f2be7
Commit: 20c9813ac813dcaf848985efee4566e8b99442a6
https://github.com/Checkmk/checkmk/commit/20c9813ac813dcaf848985efee4566e8b…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_werks.py
M tests/testlib/playwright/pom/dashboard.py
M tests/testlib/playwright/pom/navigation.py
M tests/testlib/playwright/pom/werks.py
Log Message:
-----------
gui-e2e tests: introduce PoM to `Werks`.
+ added `Werks::navigation` to object.
* move `LoginPage::go` to `CmkPage`
* add `@override` to `LoginPage::go`
+ update corresponding tests.
CMK-16739
Change-Id: I6109515a412445dc3ef25b72d1374a32d5dcd645
Commit: 04caf2357b3016b9ecebbf1c59d500e3a03b3054
https://github.com/Checkmk/checkmk/commit/04caf2357b3016b9ecebbf1c59d500e3a…
Author: Dhananjay Shah <dhananjay.shah(a)checkmk.com>
Date: 2024-04-29 (Mon, 29 Apr 2024)
Changed paths:
M tests/gui_e2e/test_signature_keys_for_signing_agents.py
Log Message:
-----------
gui-e2e tests: enable tests for `Setup > Agents > Windows, Linux, ...`
Enable tests for
+ generating key for signing Agents
+ validating availability of button `Bake and sign agents`.
CMK-14702
Change-Id: Ibccec67e657541d388e3e309d32bf531b4cc24fe
Compare:
https://github.com/Checkmk/checkmk/compare/99ad94aa6d20...04caf2357b30
To unsubscribe from these emails, change your notification settings at
https://github.com/Checkmk/checkmk/settings/notifications