Dyatel-wrapper

Latest version: v2.4.1

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

2.4.1

*Release date: 2025-01-13*

- Project archived and moved to [CustomEnv/mops](https://github.com/CustomEnv/mops)

---

2.4.0

*Release date: 2025-01-10*

Added
- `DriverWrapper.is_safari` method
- `DriverWrapper.is_firefox` method
- `DriverWrapper.is_chrome` method
- `InvalidLocatorException` for locator validation
- `VisualComparison` now removes actual and diff files upon successful assertions
- Internal CI pipelines with tests

Removed
- `DriverWrapper.switch_to_parent_frame` method
- `dyatel/dyatel_play/helpers/trace.py` module

Changed
- `DriverWrapper.get_inner_window_size` now returns a `Size` object instead of a dictionary
- `Element.click` now uses a JavaScript click for the Safari driver
- `Element.click_outside` now has default arguments `x=-5, y=-5` across all platforms
- `VisualComparison` dummy elements' `style.position` changed from `"fixed"` to `"absolute"`
- `VisualComparison` dummy elements' `style.top/left` now account for page scroll
- `VisualComparison` now includes a `sleep(0.1)` delay if `fill_background` or `remove` actions are specified after an action
- The Safari browser on Appium and Selenium uses the `innerText` DOM property instead of the driver's `text` API to improve compatibility with other platforms
- The Safari browser on Selenium uses JavaScript-based `click` instead of the driver's `click` API to enhance compatibility with other platforms
- Documentation for most methods has been improved

Fixed
- `DriverWrapper.save_screenshot` no longer throws an error when called without the optional `screenshot_base` argument
- `Element.save_screenshot` no longer throws an error when called without the optional `screenshot_base` argument
- `VisualComparison.assert_screenshot` with the argument `threshold=0` now respects the provided value instead of defaulting
- `VisualComparison` under `soft_generate_reference` no longer takes two images (actual → assertion → reference)

---

2.3.3

*Release date: 2025-01-09*

Added
- `dyatel.mixins/objects.driver.Driver` object

Changed
- **Breaking:** `DriverWrapper` initialization now requires a `Driver` object
- **Breaking:** Playwright's `context` and `page` creation have been moved out of `dyatel-wrapper`

**Note:** Examples of the new logic can be found in the [ReadTheDocs documentation](https://dyatel-wrapper.readthedocs.io/getting_started.html#selenium-driver-setup)

---

2.3.2

*Release date: 2024-12-19*

Changed
- Supported Python-Appium-Client version changed from `2.11.1` to `3.1.0`
- Supported appium version changed from `2.2.1` to `2.12.1`
- Supported xcuitest version changed from `5.0.0` to `7.28.3`
- Supported uiautomator2 version changed from `2.34.1` to `3.9.0`

---

2.3.1

*Release date: 2024-12-16*

Fixed
- Memory leak due to misuse of lru_cache

---

2.3.0

*Release date: 2024-09-12*

Added
- [ReadTheDocs documentation](https://dyatel-wrapper.readthedocs.io/)
- `Locator` object
- `CutBox` object
- `tablet` locator support
- `ScrollTo` & `ScrollTypes` constants
- `VisualComparison.assert_screenshot` now supports the use of the `CutBox` object
- `Element.execute_script` method, which automatically sets itself to script arguments
- Selenium only: 0.1 seconds delay between requests for all waiting methods
- Playwright only: 0.1 seconds delay between requests for a few waiting methods
- Appium only: exponential delay starting at 0.1 seconds between requests for all waiting methods

Changed
- **Breaking:** `locator_type`, `mobile`, `ios`, `android`, and `desktop` kwargs removed
- **Breaking:** Most `Element` methods have been renamed
- **Breaking:** `DriverWrapper.execute_script` now uses the `Element` object instead of the source element object
- **Breaking:** `MobileDriver.get_top_bar_height` method renamed to the `top_bar_height` property
- **Breaking:** `MobileDriver.get_bottom_bar_height` method renamed to the `bottom_bar_height` property
- `Element.scroll_into_view` method now uses `ScrollTo` & `ScrollTypes` constants
- Default timeout for `Element.wait_hidden_without_error` reduced to 2.5 seconds since it's a negative wait
- Default timeout for `Element.wait_visibility_without_error` reduced to 2.5 seconds since it's a negative wait
- Selenium & Appium only: `Element.click` now retries on `ElementNotInteractableException`, `ElementClickInterceptedException`, `StaleElementReferenceException` exceptions
- Automatically generated `name` argument, based on the attribute name, has been removed

Fixed
- Playwright: Appending of dummy elements inside `Element.assert_screenshot`
- Playwright: `DriverWrapper.execute_script` error when multiple elements are available

Reworked
- Mobile `top_bar_height` and `bottom_bar_height` now use `NativeContext` & `NativeSafari` objects
- Most `Element` `wait` methods are now resolved with the `wait_condition` decorator

---

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.